interpretml/interpret
Fit interpretable models. Explain blackbox machine learning.
InterpretML – 機械学習モデルを透明にする
これは何か
InterpretML は、モデル解釈可能性ツールのコレクションをまとめたオープンソースの Python ライブラリです。これにより、以下が可能になります:
- グラスボックスモデルをトレーニングする。これらは本質的に理解しやすい(例:Explainable Boosting Machines、決定木、ルールリスト、線形モデル)。
- ブラックボックスモデルを説明する。SHAP、LIME、Morris 感度分析、部分依存などのポストホック手法を使用。
- インタラクティブなダッシュボードで、グローバルなモデル動作を可視化し、個々の予測にドリルダウンし、複数のモデルを比較する。
このライブラリは、おなじみの科学 Python スタック(scikit-learn、pandas、NumPy)上に構築され、UI には Plotly/Dash を使用しています。
なぜ重要か
モデルが高リスクな意思決定(医療、金融、法律など)に影響を与える場合、解釈可能性は重要です。InterpretML を使用すると、以下が可能になります:
- モデルが間違いを犯した理由をデバッグする。
- 誤解を招く入力や欠落した入力を特定して特徴量エンジニアリングを行う。
- 公平性の問題を検出し、規制への準拠を確保する。
- モデルを直接編集できるドメインエキスパートと協力する(例:Explainable Boosting Machine の調整)。
コア機能(README に記載の通り)
| 機能 | 説明 |
|---|---|
| Explainable Boosting Machine (EBM) | バギング、勾配ブースティング、自動交互作用検出を備えた一般化加法モデル。正確で編集可能な説明を提供し、最先端のブラックボックスモデルの精度に匹敵します。 |
| その他のグラスボックスモデル | APLR、決定木、決定ルールリスト、線形/ロジスティック回帰 – すべてネイティブの explain_global/explain_local API を公開します。 |
| ブラックボックス説明器 | SHAP Kernel、LIME、Morris 感度分析、部分依存 – scikit-learn 互換の推定器をラップします。 |
| インタラクティブな可視化 | interpret.show() は、グローバル、ローカル、比較の説明のダッシュボードをレンダリングします(特徴量貢献プロット、交互作用ヒートマップなど)。 |
| 差分プライバシー | DP-EBM バリアント(DPExplainableBoostingClassifier/Regressor)により、正式なプライバシー保証(ε、δ パラメータ)でトレーニングできます。 |
| スケーラビリティ | EBM は単一マシンで 1 億行以上を処理できます。より大規模なワークロードは Azure SynapseML を介して分散できます。 |
| インストール | pip install interpret または conda install -c conda-forge interpret。Python 3.10+ で、Linux、macOS、Windows で動作します。 |
誰が使っているか?
- データサイエンティスト – 迅速で信頼できる説明が必要な場合。
- 規制産業(医療、金融、セキュリティ) – モデルの監査可能性が必須の場合。
- 研究者 – 新しい解釈可能性手法を構築またはベンチマークする場合。
- Microsoft Azure のお客様 – 分散 EBM 統合を活用する場合。
はじめに(簡単なコードスニペット)
from interpret.glassbox import ExplainableBoostingClassifier
from interpret import show
# グラスボックスモデルをトレーニング
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
# グローバルな説明(特徴量重要度、形状関数)
global_exp = ebm.explain_global()
show(global_exp)
# 単一インスタンスのローカルな説明
local_exp = ebm.explain_local(X_test[:5], y_test[:5])
show(local_exp)
show 呼び出しは、ノートブックまたはブラウザでインタラクティブな Plotly ダッシュボードを開きます。
ドキュメントとコミュニティ
- 完全なドキュメント: https://interpret.ml/docs
- 分類、回帰、カスタムインタラクション、DP-EBM のサンプルノートブック(Colab、Binder)。
- このプロジェクトは積極的にメンテナンスされており(CI バッジ、コードカバレッジ、オープンソース貢献)、多数の学術論文をクレジットしています。
TL;DR
InterpretML は、解釈可能なモデルとポストホック説明器のスイートを統合した本番対応の Python パッケージであり、最小限の摩擦で機械学習システムを構築、検査、監査できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト