Skip to main content

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

Project description

GitHubActions Codecov Documentation Status License PythonVersion PyPi Downloads Conda Release Commits Ask DeepWiki

https://github.com/scikit-learn-contrib/MAPIE/raw/master/doc_legacy/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_legacy/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.4.1.tar.gz (17.0 MB view details)

Uploaded Source

Built Distribution

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

mapie-1.4.1-py3-none-any.whl (271.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mapie-1.4.1.tar.gz
  • Upload date:
  • Size: 17.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapie-1.4.1.tar.gz
Algorithm Hash digest
SHA256 3d174aa6a91b3af34a26654fcd1e4239e5d44fa8f37ecc34f739a00d4ecdc2dc
MD5 e9849e297047547300788ce974324e90
BLAKE2b-256 f307d7fb5c16f792432a028ceffc103ddc18155785c5d163296a632cfaeec5f6

See more details on using hashes here.

Provenance

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

Publisher: publish-final-release.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.4.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for mapie-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb79bd98d30d3d370d2c74bc04e0f0d8ccfb1e90973d9773c0c9e956c4d1046b
MD5 c01dd27b573c2677387a4b29893d3b55
BLAKE2b-256 31e301c64297e98676c3ac58d141ea0149464c7ed02d0160ef68c94f23756a2e

See more details on using hashes here.

Provenance

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

Publisher: publish-final-release.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