Skip to main content

A scikit-learn-compatible module for estimating prediction intervals.

Project description

GitHubActions Codecov Documentation Status License PythonVersion PyPi Conda Release Commits

https://github.com/scikit-learn-contrib/MAPIE/raw/master/doc/images/mapie_logo_nobg_cut.png

MAPIE - Model Agnostic Prediction Interval Estimator

🎉 MAPIE v1 is live! 🎉 You’re seeing the documentation of this new version, which introduces major changes to the API. Extensive release notes are available in the documentation. You can switch to the documentation of previous versions using the button on the bottom right of ReadTheDoc pages.

🚀 MAPIE Roadmap 2026 🚀 New features are coming, starting with the application of risk control to emerging use cases such as LLM-as-Judge and image segmentation. In addition, exchangeability tests will be introduced to help users verify when MAPIE can be legitimately applied. Finally, conformal prediction methods will be revisited with a stronger focus on adaptability. More details are available here.

MAPIE is an open-source Python library for quantifying uncertainties and controlling the risks of machine learning models.

https://raw.githubusercontent.com/scikit-learn-contrib/MAPIE/refs/heads/master/doc/images/educational_visual.png

MAPIE allows you to:

  • Compute prediction intervals or prediction sets for regression [3,4,8], classification [5-7], and time series [9], by estimating your model uncertainty on a conformalization dataset.

  • Control risks of more complex tasks such as multi-label classification, semantic segmentation in computer vision, providing probabilistic guarantees on metrics like recall and precision [10-12].

  • Easily use any model (scikit-learn, TensorFlow, PyTorch) thanks to scikit-learn-compatible wrapper if needed. MAPIE is part of the scikit-learn-contrib ecosystem.

MAPIE relies notably on the fields of Conformal Prediction and Distribution-Free Inference. It implements peer-reviewed algorithms that are model and use case agnostic and possesses theoretical guarantees under minimal assumptions on the data and the model.

🛠 Requirements & installation

MAPIE runs on:

  • Python >=3.9

  • NumPy >=1.23

  • scikit-learn >=1.4

MAPIE can be installed in different ways:

$ pip install mapie  # installation via `pip`
$ conda install -c conda-forge mapie  # or via `conda`
$ pip install git+https://github.com/scikit-learn-contrib/MAPIE  # or directly from the github repository

⚡ Quickstart and documentation

Below are two simple examples from our documentation that show how MAPIE is used in a regression setting and a classification setting:

📝 Contributing

You are welcome to propose and contribute new ideas. We encourage you to open an issue so that we can align on the work to be done. It is generally a good idea to have a quick discussion before opening a pull request that is potentially out-of-scope. For more information on the contribution process, read our contribution guidelines.

🤝 Affiliations

MAPIE has been developed through a collaboration between Capgemini Invent, Quantmetry, Michelin, ENS Paris-Saclay, and with the financial support from Région Ile de France and Confiance.ai.

Capgemini Invent Inria Projet P16 Michelin ENS Confiance.ai IledeFrance

🔍 References

[1] Vovk, Vladimir, Alexander Gammerman, and Glenn Shafer. Algorithmic Learning in a Random World. Springer Nature, 2022.

[2] Angelopoulos, Anastasios N., and Stephen Bates. “Conformal prediction: A gentle introduction.” Foundations and Trends® in Machine Learning 16.4 (2023): 494-591.

[3] Rina Foygel Barber, Emmanuel J. Candès, Aaditya Ramdas, and Ryan J. Tibshirani. “Predictive inference with the jackknife+.” Ann. Statist., 49(1):486–507, (2021).

[4] Kim, Byol, Chen Xu, and Rina Barber. “Predictive inference is free with the jackknife+-after-bootstrap.” Advances in Neural Information Processing Systems 33 (2020): 4138-4149.

[5] Sadinle, Mauricio, Jing Lei, and Larry Wasserman. “Least ambiguous set-valued classifiers with bounded error levels.” Journal of the American Statistical Association 114.525 (2019): 223-234.

[6] Romano, Yaniv, Matteo Sesia, and Emmanuel Candes. “Classification with valid and adaptive coverage.” Advances in Neural Information Processing Systems 33 (2020): 3581-3591.

[7] Angelopoulos, Anastasios, et al. “Uncertainty sets for image classifiers using conformal prediction.” International Conference on Learning Representations (2021).

[8] Romano, Yaniv, Evan Patterson, and Emmanuel Candes. “Conformalized quantile regression.” Advances in neural information processing systems 32 (2019).

[9] Xu, Chen, and Yao Xie. “Conformal prediction interval for dynamic time-series.” International Conference on Machine Learning. PMLR, (2021).

[10] Bates, Stephen, et al. “Distribution-free, risk-controlling prediction sets.” Journal of the ACM (JACM) 68.6 (2021): 1-34.

[11] Angelopoulos, Anastasios N., Stephen, Bates, Adam, Fisch, Lihua, Lei, and Tal, Schuster. “Conformal Risk Control.” (2022).

[12] Angelopoulos, Anastasios N., Stephen, Bates, Emmanuel J. Candès, et al. “Learn Then Test: Calibrating Predictive Algorithms to Achieve Risk Control.” (2022).

Image credits: Portrait: Cemrecan Yurtman / Zebra Horse Hybrid: hogrmahmood

📚 License & citation

MAPIE is free and open-source software licensed under the BSD-3-Clause license.

If you use MAPIE in your research, please cite the main paper:

Cordier, Thibault, et al. “Flexible and systematic uncertainty estimation with conformal prediction via the mapie library.” Conformal and Probabilistic Prediction with Applications. PMLR, 2023.

Or equivalently the BibTex entry:

@inproceedings{Cordier_Flexible_and_Systematic_2023,
author = {Cordier, Thibault and Blot, Vincent and Lacombe, Louis and Morzadec, Thomas and Capitaine, Arnaud and Brunel, Nicolas},
booktitle = {Conformal and Probabilistic Prediction with Applications},
title = {{Flexible and Systematic Uncertainty Estimation with Conformal Prediction via the MAPIE library}},
year = {2023}
}

You can also have a look at the ICML workshop manuscript:

Taquet, Vianney, et al. “MAPIE: an open-source library for distribution-free uncertainty quantification.” arXiv preprint arXiv:2207.12274 (2022).

@article{taquet2022mapie,
title={MAPIE: an open-source library for distribution-free uncertainty quantification},
author={Taquet, Vianney and Blot, Vincent and Morzadec, Thomas and Lacombe, Louis and Brunel, Nicolas},
journal={arXiv preprint arXiv:2207.12274},
year={2022}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapie-1.3.0.tar.gz (179.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mapie-1.3.0-py3-none-any.whl (216.4 kB view details)

Uploaded Python 3

File details

Details for the file mapie-1.3.0.tar.gz.

File metadata

  • Download URL: mapie-1.3.0.tar.gz
  • Upload date:
  • Size: 179.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mapie-1.3.0.tar.gz
Algorithm Hash digest
SHA256 94c760dd667b4ab88eb4964ff5b0177ba74e082f4220796e3c581e53195107e2
MD5 dfdf93d5295fc9eaeb6e36ec52d84a91
BLAKE2b-256 11c9d2e3a370b3d284cf80fe3534712005994667522df69f6890aa40caf64784

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapie-1.3.0.tar.gz:

Publisher: publish.yml on scikit-learn-contrib/MAPIE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mapie-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: mapie-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 216.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mapie-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c934eb0367c099c3b71c63afff32cb5125e4e61d4867177ea925f9b19386f99
MD5 00e9b9c84cafbc0456f5abed01a437b7
BLAKE2b-256 1186e23e00473d7625027198519eb8d1b4d8ae37ebe4fd0264546070e6214a23

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapie-1.3.0-py3-none-any.whl:

Publisher: publish.yml on scikit-learn-contrib/MAPIE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page