← Open Source
DoubleML

doubleml-for-py

DoubleML - Double Machine Learning in Python.

Model DevelopmentClassical MLPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
794
Stars
126
Forks
+2
This week
15
Contributors
Created 2020-09-09 · Updated 2026-10-15 · #13744 today
Top developers

DoubleML/doubleml-for-py is ranked 13,744 with 794 stars.

Same-category comparison

DoubleML/doubleml-for-py is ranked 13,744 among these 8 peers; zhaogaofeng611/TextMatch is ranked 13,742.

Same-category comparison
NameRankMetrics
amirgholami/PyHessian13,736
Language:
Jupyter Notebook
Stars:
795
Forks:
128
Description:
PyHessian is a Pytorch library for second-order based analysis and training of Neural Networks.
guanfuchen/semseg13,738
Language:
Python
Stars:
795
Forks:
159
linkedin/photon-ml13,739
Language:
Terra
Stars:
795
Forks:
175
Description:
A scalable machine learning library on Apache Spark.
zhaogaofeng611/TextMatch13,742
Language:
Python
Stars:
795
Forks:
148
astorfi/3D-convolutional-speaker-recognition13,747
Language:
Python
Stars:
794
Forks:
264
Description:
:speaker: Deep Learning & 3D Convolutional Neural Networks for Speaker Verification.
mlfoundations/datacomp13,752
Language:
Python
Stars:
794
Forks:
65
Description:
DataComp: In search of the next generation of multimodal datasets.
teticio/audio-diffusion13,754
Language:
Jupyter Notebook
Stars:
794
Forks:
76
Description:
Apply diffusion models using the new Hugging Face diffusers package to synthesize music instead of images.
DaoyuanLi2816/can-i-finetune-this13,756
Language:
Python
Stars:
793
Forks:
107
Description:
Single-GPU LLM fine-tuning preflight: memory estimates, runnable LoRA/QLoRA recipes, and local measurements.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryClassical ML
Stars794
Forks126
Contributors15
Created date2020-09-09
Updated date2026-10-15
Stars in 1 day0
Stars in 7 days2
Rank13,744
Previous rank6,403
Rank change-7,341
7-day stars rank8,489
Previous 7-day stars rank8,564
7-day stars rank change75
Total stars rank13,431
Previous total stars rank13,407
Total stars rank change-24
README summary

DoubleML - Double Machine Learning in Python The Python package **DoubleML** provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. It is built on top of scikit-learn (Pedregosa et al. Note that the Python package was developed together with an R twin based on mlr3. The R package is also available on GitHub and Documentation and Maintenance Documentation and website: **DoubleML** is currently maintained by @PhilippBach and @SvenKlaassen. Bugs can be reported to the issue

tracker at Main Features Double / debiased machine learning (Chernozhukov et al. (2018)) for Partially linear regression models (PLR) Partially linear IV regression models (PLIV) Interactive regression models (IRM) Interactive IV regression models (IIVM) The object-oriented implementation of DoubleML is very flexible. The model classes , , and implement the estimation of the nuisance functions via machine learning methods and the computation of the Neyman orthogonal score function. All other functionalities are implemented in the abstract base class . In particular functionalities to

estimate double machine learning models and to perform statistical inference via the methods , , , and . This object-oriented implementation allows a high flexibility for the model specification in terms of . the machine learners for the nuisance functions, . the double machine learning algorithm, . the Neyman orthogonal score functions, . It further can be readily extended with regards to . new model classes that come with Neyman orthogonal score functions being linear in the target parameter, . alternative score functions via callables, . Installation **DoubleML** requires Python

scikit-learn numpy scipy pandas statsmodels joblib To install DoubleML with pip use DoubleML can be installed from source via For development we recommend uv, which sets up the environment (including the dependency group) in one step: Detailed installation instructions can be found in the documentation. Contributing DoubleML is a community effort. To get started for your first contribution we recommend reading our contributing guidelines and our code of conduct. Citation If you use the DoubleML package a citation is

highly appreciated: You can click the **"Cite this repository"** button at the top of the GitHub page to cite the package directly. Alternatively, you can cite the following paper: Bach, P. (2022), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, Bibtex-entry: Acknowledgements Funding by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) is acknowledged – Project Number 431701914 and Grant GRK 2805/1. (2022), DoubleML - An Object-Oriented Implementation

of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, Chernozhukov, V. (2018), Double/debiased machine learning for treatment and structural parameters. (2011), Scikit-learn: Machine Learning in Python.

Frequently asked questions

How many stars and forks are recorded?

DoubleML/doubleml-for-py has 794 stars and 126 forks.

What is the repository rank?

DoubleML/doubleml-for-py is ranked 13,744.

What language and category are recorded?

DoubleML/doubleml-for-py has 794 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

DoubleML/doubleml-for-py is compared with zhaogaofeng611/TextMatch, ranked 13,742 with 795 stars.

README

DoubleML - Double Machine Learning in Python

The Python package DoubleML provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. (2018). It is built on top of scikit-learn (Pedregosa et al., 2011).

Note that the Python package was developed together with an R twin based on mlr3. The R package is also available on GitHub and .

Documentation and Maintenance

Documentation and website: https://docs.doubleml.org/

DoubleML is currently maintained by @PhilippBach and @SvenKlaassen.

Bugs can be reported to the issue tracker at https://github.com/DoubleML/doubleml-for-py/issues.

Main Features

Double / debiased machine learning (Chernozhukov et al. (2018)) for

  • Partially linear regression models (PLR)
  • Partially linear IV regression models (PLIV)
  • Interactive regression models (IRM)
  • Interactive IV regression models (IIVM)

The object-oriented implementation of DoubleML is very flexible. The model classes DoubleMLPLR, DoubleMLPLIV, DoubleMLIRM and DoubleIIVM implement the estimation of the nuisance functions via machine learning methods and the computation of the Neyman orthogonal score function. All other functionalities are implemented in the abstract base class DoubleML. In particular functionalities to estimate double machine learning models and to perform statistical inference via the methods fit, bootstrap, confint, p_adjust and tune. This object-oriented implementation allows a high flexibility for the model specification in terms of ...

  • ... the machine learners for the nuisance functions,
  • ... the resampling schemes,
  • ... the double machine learning algorithm,
  • ... the Neyman orthogonal score functions,
  • ...

It further can be readily extended with regards to

  • ... new model classes that come with Neyman orthogonal score functions being linear in the target parameter,
  • ... alternative score functions via callables,
  • ... alternative resampling schemes,
  • ...

Installation

DoubleML requires

  • Python
  • scikit-learn
  • numpy
  • scipy
  • pandas
  • statsmodels
  • joblib

To install DoubleML with pip use

pip install -U DoubleML

DoubleML can be installed from source via

git clone git@github.com:DoubleML/doubleml-for-py.git
cd doubleml-for-py
pip install --editable .

For development we recommend uv, which sets up the environment (including the dev dependency group) in one step:

git clone git@github.com:DoubleML/doubleml-for-py.git
cd doubleml-for-py
uv sync --extra rdd

Detailed installation instructions can be found in the documentation.

Contributing

DoubleML is a community effort. Everyone is welcome to contribute. To get started for your first contribution we recommend reading our contributing guidelines and our code of conduct.

Citation

If you use the DoubleML package a citation is highly appreciated:

You can click the "Cite this repository" button at the top of the GitHub page to cite the package directly. Alternatively, you can cite the following paper:

Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2022), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, https://www.jmlr.org/papers/v23/21-0862.html.

Bibtex-entry:

@article{DoubleML2022,
      title   = {{DoubleML} -- {A}n Object-Oriented Implementation of Double Machine Learning in {P}ython},
      author  = {Philipp Bach and Victor Chernozhukov and Malte S. Kurz and Martin Spindler},
      journal = {Journal of Machine Learning Research},
      year    = {2022},
      volume  = {23},
      number  = {53},
      pages   = {1--6},
      url     = {http://jmlr.org/papers/v23/21-0862.html}
}

Acknowledgements

Funding by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) is acknowledged – Project Number 431701914 and Grant GRK 2805/1.

References

Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2022), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, https://www.jmlr.org/papers/v23/21-0862.html.

Chernozhukov, V., Chetverikov, D., Demirer, M., Duflo, E., Hansen, C., Newey, W. and Robins, J. (2018), Double/debiased machine learning for treatment and structural parameters. The Econometrics Journal, 21: C1-C68. doi:10.1111/ectj.12097.

Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M. and Duchesnay, E. (2011), Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12: 2825--2830, https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html.

Nearby in the ranking
Similar items