Chuyển đến nội dung chính

第6課:モデル評価と検証

指標:Accuracy、Precision、Recall、F1、AUC-ROC、RMSE、MAE、R²。 混同行列。交差検証戦略。 SageMaker Clarifyによるバイアス検出と説明可能性。 Production VariantsによるA/Bテスト。

Model Evaluation Metrics

モデル評価:分類指標(AUC-ROC、F1)、回帰指標(RMSE、MAE)、混同行列

1. 分類指標

適切な指標を選択することはMLエンジニアの最も重要なスキルの1つです。MLS-C01試験ではシナリオが提示され、適切な指標が問われます。

1.1. 混同行列

                 Predicted
                 Positive  Negative
Actual Positive │   TP   │   FN   │  ← Recall = TP / (TP + FN)
       Negative │   FP   │   TN   │

Precision  = TP / (TP + FP)   ← 予測Positiveのうち正解の割合
Recall     = TP / (TP + FN)   ← 実際のPositiveのうち捕捉できた割合
F1 Score   = 2 × (P × R) / (P + R)   ← 調和平均
Accuracy   = (TP + TN) / Total
指標最適化する場面実世界の例
PrecisionFPのコストが高い — 誤検知を避けたいスパムフィルター(正当なメールをブロックしない)
Recall(感度)FNのコストが高い — 陽性を見逃したくないがん検出(すべてのがん患者を発見)
F1スコアPrecisionとRecallのバランス、不均衡データ不正検知
Accuracy均衡クラスのみ多クラス、均衡データセット
AUC-ROCランキング品質、閾値に依存しない信用スコアリング、広告ランキング
PR-AUC不均衡、少数クラスに注目不正検知、医療診断

試験のヒント: よくあるシナリオ — 「医療診断で、がんを見逃す方が偽陽性より危険」→ Recallを最適化。「スパム検出で、正当なメールのブロックが問題」→ Precisionを最適化。不均衡データ → F1またはAUC-ROCを使用、Accuracyは使わない。

2. 回帰指標

指標式外れ値への感度ユースケース
RMSE√(mean(errors²))高 — 大きな誤差をペナルティ大きな誤差が許容できない場合(価格予測)
MAEmean(|errors|)低 — すべての誤差を均等に外れ値にロバスト、需要予測
R²(決定係数)1 - SS_res/SS_tot中説明された分散の割合(0〜1)
MAPEmean(|error/actual|×100)実測値が0に近い場合高いパーセンテージ誤差、ビジネス解釈が容易

3. 交差検証

戦略仕組み最適な用途
ホールドアウト分割訓練/検証/テスト分割(例:70/15/15)大規模データセット、高速評価
K分割交差検証K個のサブセット、K-1で訓練、1で評価、K回繰り返し中規模データセット、ロバストな推定
層化K分割K分割と同じだが各フォールドでクラス比率を維持不均衡な分類
Leave-One-Out (LOOCV)N分割(各サンプルが1回テスト)非常に小さいデータセット
時系列分割訓練ウィンドウが前方に成長 — 訓練に将来データなし時系列データ

試験のヒント: 時系列データは必ず時間ベースの分割を使用し、シャッフルしてから通常のK分割を使用してはいけません — 将来のデータが訓練にリークします。

4. SageMaker Clarify — バイアスと説明可能性

SageMaker Clarifyはデータ/モデルのバイアスを検出し、SHAP値を使用したモデルの説明可能性を提供します。

機能動作出力
訓練前バイアス検出訓練前の生データを分析バイアス指標:CI、DPL、KL、JS
訓練後バイアス検出モデル予測のバイアスを評価指標:DPPL、DI、DCO、RD
モデル説明可能性特徴量の重要度のSHAP値予測ごとの特徴量重み寄与
SHAP Explainability Example (Loan Approval):

Feature            SHAP Value  Contribution
─────────────────────────────────────────────
credit_score       +0.42       ↑ approval
income             +0.28       ↑ approval
debt_ratio         -0.35       ↓ approval
employment_years   +0.15       ↑ approval
age                -0.02       minimal impact

5. Production VariantsによるA/Bテスト

SageMaker EndpointsはProduction Variantsをサポート — トラフィック分割による複数モデルバージョンの同時実行。

Endpoint with A/B Testing:

          ┌──────────────────────────────┐
 Request ─→  SageMaker Endpoint         │
          │                              │
          │  Variant A (v1): 80% traffic │──→ Model v1 (current)
          │  Variant B (v2): 20% traffic │──→ Model v2 (candidate)
          └──────────────────────────────┘
                        ↓
                 Compare metrics, shift traffic gradually

6. チートシート — 評価指標

シナリオ最適な指標
医療診断(FNが致命的)Recall(感度)
スパムフィルター(FPが致命的)Precision
不均衡な不正検知F1スコア、AUC-ROC
住宅価格予測(外れ値が重要)RMSE
需要予測(ロバスト)MAE
個別予測の説明SHAP(SageMaker Clarify経由)

7. 練習問題

Q1: ある病院が早期がん検出モデルを構築したいと考えています。実際のがん症例を見逃すことは偽陽性よりも危険です。どの指標を最適化すべきですか?

  • A) Precision
  • B) Recall ✓
  • C) Accuracy
  • D) RMSE

解説:Recall = TP / (TP + FN)。Recallを最適化すると偽陰性(見逃されたがん症例)が最小化されます。PrecisionはFPを最適化、Accuracyは不均衡な医療データでは誤解を招き、RMSEは回帰用です。

Q2: ある企業が既存モデルをフォールバックとして維持しながら、本番で新しいモデルバージョンを段階的にテストしたいと考えています。これを実現するSageMaker機能はどれですか?

  • A) SageMaker Experiments
  • B) SageMaker Pipelines
  • C) SageMaker Endpointsの Production Variants ✓
  • D) SageMaker Model Monitor

解説:SageMaker EndpointsはProduction Variantsをサポートし、設定可能なトラフィックウェイトで複数のモデルバージョンを同時に実行できます。ダウンタイムなしのA/Bテストとカナリアデプロイメントを実現します。

Q3: 住宅価格予測モデルのRMSE=50,000、MAE=20,000です。これは何を示していますか?

  • A) 高バイアス
  • B) データリーケージ
  • C) 外れ値がRMSEを押し上げている ✓
  • D) 未学習

解説:RMSEがMAEより大幅に高い場合、外れ値の存在を示します。RMSEは誤差を二乗するため、大きな誤差をMAEよりもはるかに重くペナルティします。このギャップ(50k対20k)は一部の予測に非常に大きな誤差があることを示唆しています。