コンテンツにスキップ

予測の説明

モデルがなぜその予測を行ったかを理解することは、予測結果と同様に重要です。MLOps Desktopは、モデルを解釈するための複数の説明可能性ツールを提供しています。

ローン審査モデルで「承認」「却下」を予測する場合を考えます。説明可能性がなければ、以下の質問に答えられません。

  • なぜこの申請者は却下されたのか
  • どの特徴量が最も重要か
  • モデルは特定のグループに偏っていないか

説明可能性ツールはこれらの質問に回答します。

  1. 学習済みパイプラインを開く

    TrainerとEvaluatorを含むパイプラインを読み込みます。

  2. パイプラインを実行

    Runをクリックしてモデルを学習します。

  3. Evaluatorノードをクリック

    学習完了後、Evaluatorノードに結果が表示されます。

  4. Explainタブを開く

    結果パネルのExplainタブをクリックします。

    3種類の可視化が表示されます。

    • Feature Importance(特徴量重要度)
    • SHAP Summary(SHAPサマリー)
    • Partial Dependence(部分依存)

表示内容: 各特徴量が予測全体にどの程度貢献しているか

Feature Importance (Random Forest)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
petal length (cm) ████████████████████ 0.45
petal width (cm) ██████████████ 0.35
sepal length (cm) ████ 0.12
sepal width (cm) ███ 0.08

解釈方法:

  • 棒が長いほど重要な特徴量
  • Random Forestの場合、各特徴量がすべての木で不純度をどれだけ減少させるかで計算

SHAP (SHapley Additive exPlanations) は、各特徴量が予測をどのように押し上げ/押し下げるかを示すことで、個々の予測を説明します。

全予測にわたる特徴量の影響を表示します。

SHAP Summary Plot
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
← 予測を下げる 予測を上げる →
petal length ●●●●●●●○○○○○○○○●●●●●●●●●●
petal width ●●●●●○○○○○○○○●●●●●●●
sepal length ●●●○○○○○●●●
sepal width ●●○○○●●

各点は1つのサンプルを表します。

  • 横位置: 特徴量が予測に与える影響
  • 色: 特徴量の値(青=低い、赤=高い)

プロットの読み方:

  • 高いpetal length(右側の赤い点)→ 予測を上げる
  • 低いpetal length(左側の青い点)→ 予測を下げる

単一の予測をステップごとに説明します。

予測: Class 2 (Virginica)
基準値: 0.33(全クラスの平均)
petal length = 5.1 +0.35 ▶▶▶▶▶▶▶
petal width = 1.8 +0.25 ▶▶▶▶▶
sepal length = 6.3 +0.05 ▶
sepal width = 2.5 -0.02 ◀
最終値: 0.96 → Class 2

このサンプルがVirginicaに分類された理由が明確にわかります。

表示内容: 他の特徴量を一定に保ちながら、1つの特徴量を変化させたときに予測がどう変わるか

1つの特徴量と予測の関係を表示します。

Partial Dependence: petal length
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
予測
│ ╭─────────
│ ╱
│ ╱
│─────╯
└────────────────────→ petal length
1 3 5 7

解釈: petal lengthが約2.5を超えると、モデルは異なるクラスを予測する

以下の点を確認してください。

  • 重要な特徴量はドメイン知識と一致しているか
  • 予想外に重要でない特徴量はあるか
  • 決定境界は妥当か

以下の点を確認してください。

  • 関係は線形か非線形か
  • 閾値効果(急激な変化)はあるか
  • 特徴量間の相互作用は妥当か
警告サイン考えられる問題
ランダムな特徴量が最重要データ漏洩または過学習
IDカラムの重要度が高いモデルが丸暗記している
予期しない特徴量の相互作用データ品質の問題

Exportをクリックすると、可視化を画像として保存できます。

  • feature_importance.png
  • shap_summary.png
  • partial_dependence.png

トラブルシューティング:

  • 「shap が見つかりません」pip install shapを実行
  • SHAPが遅い — 大規模データセットでは時間がかかります。自動的にサンプリングされますが、ツリーベースのモデルを使用するとより高速です
  • プロットが表示されないmatplotlibがインストールされているか確認:pip install matplotlib