コンテンツにスキップ

Evaluatorノード

Evaluatorノードはモデルタイプを自動検出し、適切なメトリクスを計算します。また、SHAP値、特徴量重要度、部分依存プロットによる包括的なモデル説明可能性も提供します。

プロパティ
タイプ分析ノード
入力学習済みモデル(Trainerから)
出力メトリクス、可視化、説明
自動検出分類 vs 回帰

Evaluatorはモデルタイプを自動検出し、Metricsタブに適切なメトリクスを表示します。

メトリクス説明
Accuracy正解予測の割合
Precision真陽性 / (真陽性 + 偽陽性)
Recall真陽性 / (真陽性 + 偽陰性)
F1 ScorePrecisionとRecallの調和平均
混同行列予測vs実際のビジュアルヒートマップ

メトリクスは値がラベル付けされた棒グラフで表示されます。

MetricsタブのExplainボタンをクリックして説明を生成。Evaluatorは3種類の説明可能性を提供:

特徴量をシャッフルしたときの精度低下を測定することで、各特徴量がモデル予測にどれだけ貢献するかを表示。

可視化:

  • 水平棒グラフ
  • エラーバーは±標準偏差を表示
  • 上位10特徴量を表示
  • 正の値 = 特徴量が有用、負の値 = 特徴量が有害

SHAP (SHapley Additive exPlanations) は各特徴量の寄与を帰属させることで個々の予測を説明。

スマートExplainer選択:

モデルタイプExplainer速度
Random Forest、Gradient BoostingTreeExplainer高速
線形/ロジスティック回帰LinearExplainer高速
SVM、KNN、MLPKernelExplainer遅い(50サンプルに制限)

ビースウォームチャート:

  • 各点 = 1サンプル
  • X軸 = SHAP値(予測への影響)
  • Y軸 = 特徴量(重要度順にソート)
  • 色 = 特徴量値(赤=高、青=低)
  • マルチクラス分類用のクラスセレクター

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

機能:

  • 予測vs特徴量値の折れ線グラフ
  • 個別サンプル用のICE(Individual Conditional Expectation)線
  • パフォーマンスのためICE線は50本に制限
  • 上位5特徴量が選択可能
  • 分類:クラスごとの確率を表示

Explainセクションには以下が表示:

  1. プログレスバー — 3段階:Permutation → SHAP → PDP
  2. 特徴量重要度チャート — 置換ベースの重要度
  3. SHAPビースウォーム — 特徴量ごとの影響分布
  4. 部分依存 — 特徴量関係プロット
  5. サマリー洞察 — 人間が読める解釈

Evaluatorは自然言語の洞察を生成:

“モデルは’petal_length’に大きく依存しており、予測影響の45%を占めています。”

“モデルの予測は主に3つの特徴量によって駆動されています:petal_length、petal_width、sepal_length、合わせて影響の87%を占めています。”

洞察は潜在的な問題もフラグ:

  • 重要度スコアの高い分散(モデルの不安定性)
  • 単一特徴量の支配(潜在的なデータ漏洩)

全チャートはインタラクティブな可視化にEChartsを使用:

チャート場所機能
メトリクス棒グラフMetricsタブ並列比較
混同行列Metricsタブカウント付きヒートマップ
特徴量重要度Explainセクションエラー付き水平棒
SHAPビースウォームExplainセクションツールチップ付きインタラクティブドット
PDP折れ線グラフExplainセクションICE線、クラスセレクター
方向ノードタイプ
入力元Trainer、Script(MODEL_FILEを保存する場合)
出力先ModelExporter

評価結果はデータベースに永続化:

  • メトリクスrun_metricsテーブルに実行IDで保存
  • 説明データ — メトリクステーブルにJSONで保存
  • 履歴アクセス — Runsタブで過去の実行を表示

任意の過去の実行をクリックしてメトリクスを表示し、説明を再生成できます。

Evaluatorには以下のPythonパッケージが必要:

パッケージ用途
scikit-learnメトリクス、置換重要度
shapSHAP値計算
pandasnumpyデータ処理

SHAPがインストールされていない場合、Evaluatorは置換重要度のみにフォールバックします。

SHAPをインストール:

Terminal window
pip install shap

インストールが失敗した場合(コンパイルエラー):

Terminal window
xcode-select --install # まずXcode CLIツールをインストール
pip install shap

SVM、KNN、MLPモデルでは、SHAPは遅いKernelExplainerを使用します。システムは自動的に50サンプルに制限します。それでも遅い場合:

  • ツリーベースのモデル(Random Forest、Gradient Boosting)を使用
  • SHAPをスキップし、置換重要度のみ使用

多くのクラスがある場合、行列は大きくなります。フォーカスする点:

  • 対角線の値(正解予測)
  • 非対角線のクラスター(よくある誤分類)

以下を確認:

  • ターゲットカラムが正しく指定されている
  • データにリーク(ターゲットと相関する特徴量)がない
  • 訓練/テスト分割が適切にランダム化されている
  • Trainer — 評価するモデルを学習
  • DataSplit — 適切な訓練/テスト分離を確保
  • ModelExporter — 評価後にエクスポート