scikit-learn-contrib/MAPIE

A scikit-learn-compatible library for estimating prediction intervals and controlling risks, based on conformal predictions.

MAPIE – 模型无关的预测区间估计器

这是什么

  • 一个Python库,在现有模型之上添加预测区间(用于回归)和预测集(用于分类、时间序列、分割等)。
  • 它可以与scikit-learn估计器开箱即用,并提供TensorFlow或PyTorch模型的薄包装器,因此您可以继续使用已经熟悉的工具。

为什么重要

  • 在许多现实世界的应用中,您不仅需要点预测,还需要对该预测的不确定性有可靠的感知。MAPIE基于共形预测和相关风险控制理论,提供统计上可靠、与分布无关的不确定性估计。
  • 这些保证在非常温和的假设下成立(基本上要求校准数据可交换),使得该工具在多个领域中都有用——从表格回归到图像分割,甚至新兴的LLM-as-judge场景。

主要特性(如README所述)

  • 预测区间/集:用于回归、分类、时间序列、多标签分类和语义分割。
  • 风险控制:允许设置目标风险(例如,最大假阴性率),并获得可证明满足该风险的预测集。
  • 模型无关:适用于任何与scikit-learn兼容的估计器;可选包装器允许您插入TensorFlow或PyTorch模型。
  • 自适应和可交换性测试:2026年的新功能包括测试可交换性假设是否成立的方法,以及尽可能收紧区间的自适应共形技术。
  • 广泛的文档和示例:回归和分类的快速入门笔记本,以及完整的Read-the-Docs站点。

典型工作流程

  1. 像往常一样训练您的模型(例如,LinearRegression、RandomForest、PyTorch网络)。
  2. 划分一个保留的“校准”集,MAPIE将使用它来估计不确定性。
  3. 用MAPIE类(MapieRegressor、MapieClassifier等)包装训练好的模型。
  4. 在校准数据上拟合包装器。
  5. 使用predict_interval或predict_set预测,获得区间/集以及通常的点预测。

安装

pip install mapie          # 或 conda install -c conda-forge mapie

需要Python ≥ 3.9、NumPy ≥ 1.23、scikit-learn ≥ 1.4。

社区与可持续性

  • 属于scikit-learn-contrib生态系统,意味着遵循相同的开源治理和测试标准。
  • 积极维护(GitHub Actions CI、代码覆盖率徽章、定期发布)。
  • 由学术和行业合作伙伴(Capgemini Invent、INRA、Michelin、ENS Paris-Saclay等)支持,并受地区和私营研究机构资助。

何时使用MAPIE

  • 您需要为现有模型提供校准后的不确定性。
  • 您的应用程序要求正式的风险保证(例如,医学诊断、自动驾驶、金融预测)。
  • 您更喜欢不假设特定模型族且需要最少额外代码的库。

在哪里了解更多

  • 文档中的快速入门笔记本:回归示例、分类示例。
  • Read-the-Docs站点上的完整API参考和理论背景。
  • README中引用的学术论文,以获取更深入的统计见解。

TL;DR:MAPIE是一个维护良好、模型无关的Python包,使用共形预测和风险控制方法,为任何ML模型添加统计上严格的不确定性量化。每当您需要可信的置信区间或预测集而不必局限于特定模型架构时,它都很有用。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目