csinva/imodels

Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).

imodels – Python用解釈可能な機械学習モデル

概要imodels は、大量の解釈可能な教師あり学習アルゴリズム(ルールベース、決定木ベース、スパース線形モデル)をパッケージ化した Python ライブラリであり、使い慣れた scikit-learn エスティメータ API (fit, predict, predict_proba など) を通じて利用可能です。このパッケージは、臨床的意思決定支援、金融、またはその他の規制対象分野など、精度と理解のしやすさの両立が必要な実務家を対象としています。

主な特徴 (READMEより)

  • 幅広いモデルカタログ – ルールセット学習器 (RuleFit, SkopeRules, BoostedRules, SLIPPER, Bayesian rule set/list)、ルールリスト学習器 (Greedy, OneR, Fast-and-Frugal trees)、決定木学習器 (CART, C4.5, TAO, hierarchical-shrinkage wrappers)、および代数モデル (SLIM integer-coefficient linear models, Tree-GAM, FIGS – greedy tree sums, BART, marginal-shrinkage linear models)。それぞれを from imodels import RuleFitClassifier のように直接インポートできます。
  • Scikit-learn 互換性 – すべてのエスティメータは標準的なエスティメータメソッドを実装しており、パイプライン内での動作、ハイパーパラメータ探索のサポート、および適切な feature_names_in_ 属性の返却に対応しています。
  • 事後解析ユーティリティ蒸留 (ブラックボックスモデルを訓練してから解釈可能なモデルに圧縮する) および AutoML (与えられたデータセットに対して最適な解釈可能モデルを自動選択する) のためのラッパー。
  • モデル固有のテクニック – 階層的収縮 (HSTree*) は、あらゆる決定木ベースのモデルに超高速な正則化を追加します。RF+ (MDI+) は、より柔軟なランダムフォレストの特徴量重要度指標を提供します。
  • インストールpip install imodels (Python 3.10-3.13, NumPy ≥ 2.0)。バッジには MIT ライセンス、PyPI バージョン、ダウンロード数、CI ステータス、および JOSS 論文が表示されています。
  • ドキュメント & デモ – オンラインドキュメント、JOSS 研究論文、およびいくつかの Jupyter Notebook (クイックスタート、臨床的意思決定ルール例、事後解析、不確実性推定、Autogluon AutoML デモ)。

典型的な使用例 (READMEより)

from imodels import get_clean_dataset, HSTreeClassifierCV
from sklearn.model_selection import train_test_split

X, y, feature_names = get_clean_dataset('csi_pecarn_pred')
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)

model = HSTreeClassifierCV(max_leaf_nodes=4)   # 収縮正則化された決定木
model.fit(X_train, y_train, feature_names=feature_names)

preds = model.predict(X_test)
preds_proba = model.predict_proba(X_test)
print(model)   # 木のコンパクトなテキスト表現を出力

出力には、わずか4つの葉を持つ小さな決定木が表示され、このライブラリが簡潔なモデルに焦点を当てていることを示しています。

重要性 – 現代のアンサンブル学習 (ランダムフォレスト、勾配ブースト決定木、ディープネットワーク) は、高い精度を達成することが多いですが、不透明です。imodels を使用すると、ユーザーはそれらのブラックボックスモデルの多くを、予測性能を維持しつつ、透明性が高く監査が容易で、評価が速いルールベースまたはスパース線形モデルの代替案に置き換えることができます。

次のステップ – README は 2 つの関連プロジェクトを指し示しています:

  • テキストベースの解釈可能性のための imodelsX
  • 表形式データに対するエージェント駆動型の解釈可能性のための agentic-imodels

上記の情報はリポジトリの README から直接引用されており、外部の仮定は追加されていません。

関連

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