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は、コンフォーマル予測とリスク制御手法を使用して、任意のMLモデルに統計的に厳密な不確実性定量化を追加する、よくメンテナンスされたモデル非依存のPythonパッケージです。特定のモデルアーキテクチャに縛られることなく、信頼性の高い信頼区間や予測セットが必要な場合に役立ちます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト