Early stopping is a python library implementing computationally efficient model selection methods for iterative estimation procedures based on the theory in
-
G. Blanchard, M. Hoffmann, M. Reiß. "Early stopping for statistical inverse problems via truncated SVD estimation" . In: Electronic Journal of Statistics 12(2): 3204-3231 (2018).
-
G. Blanchard, M. Hoffmann, M. Reiß. "Optimal adaptation for early stopping in statistical inverse problems" . In: SIAM/ASA Journal of Uncertainty Quantification 6(3), 1043–1075 (2018).
-
B. Stankewitz. "Early stopping for L2-boosting in high-dimensional linear models" . arXiv:2210.07850 [math.ST] (2022).
-
J. Kueck, Y. Luo, M. Spindler, Z. Wang. "Estimation and inference of treatment effects with L2-boosting in high-dimensional settings" . In: Journal of Econometrics 234(2), 714-731 (2023).
-
L. Hucker, M. Reiß. "Early stopping for conjugate gradients in statistical inverse problems" . arXiv:2406.15001 [math.ST] (2024).
-
R. Miftachov, M. Reiß. "Early Stopping for Regression Trees" . arXiv:2502.04709 [math.ST] (2025).
Check out the documentation for more information.
Required dependencies: git, Python3, JupyterNotebooks.
Manual setup:
python3 -m pip install build virtualenv # Install build tools
git clone https://github.com/ESFIEP/EarlyStopping.git # Clone git repository
python3 -m build # Build package
python3 -m venv myenv # Create virtual environment
source myenv/bin/activate # Activate virtual environment
python3 -m pip install numpy ipykernel # Install python packages to the environment
python3 -m pip install -e . # Install the EarlyStopping package in editable mode
python3 -m ipykernel install --user --name=myenv # Create Jupyter kernel from the environmentFrom the notebooks directory open the Jupyter notebook example.ipynb with the kernel myenv and run the code!
https://test.pypi.org/project/EarlyStopping
The online documentation is not built until it has been merged into main. To build documentation locally and check how things look run
sphinx-build -M html docs/source docs/buildin the EarlyStopping directory. The documentation will be generated in docs/build/html. To view them locally open index.html with firefox or another browser. Information about about documenting projects with sphinx.
Under Linux, it was necessary to include
import os
import sys
sys.path.insert(0, os.path.abspath('../../src'))in docs/source/conf.py. Please only include this locally and never push the change.