【MLA-C01】モデル性能の評価|混同行列・precision/recall・F1・RMSE・ROC/AUCの使い分けを図解

モデル性能の評価 指標の使い分け MLA-C01 AWS資格の森 機械学習エンジニア(MLA)
無料MLA-C01 ドメイン2:モデル開発|M2-3「モデル性能の評価」。混同行列・precision/recall・F1・RMSE・ROC/AUCの使い分けと、シャドウテスト・Clarifyを図解します。

モデルができたら「どれだけ良いか」を正しく測ります。ここで指標を間違えると、見かけ上は高精度でも実は使い物にならないモデルを採用してしまいます。この記事では、分類の混同行列・precision・recall・F1・ROC/AUC、回帰のRMSE、そして本番に近い形で評価するシャドウテストまでを、判別できる形で解説します。前の記事は M2-2、全体像は シラバスマップ をどうぞ。

モデルの性能を指標で評価するイメージ図
図:性能評価は「どの指標で測るか」が肝心。課題に合った指標を選ばないと、良し悪しを見誤ります。

分類の基本:混同行列

分類モデルの評価は混同行列から始まります。予測と正解の組み合わせを4つに分けたものです。

混同行列の4区分とprecision・recallの関係を示す図
図:予測と実際の組み合わせを4つの区分に分けたもの。正しく陽性・誤って陽性(偽陽性)・見逃し(偽陰性)・正しく陰性に分かれ、precisionとrecallはこの区分から計算します。
  • Accuracy(正解率):全体のうち当たった割合。クラスが偏っていると当てにならない(不正1%なら「全部正常」で99%)
  • Precision(適合率)=陽性と予測したうち本当に陽性の割合。誤検知(FP)を減らしたいときに重視
  • Recall(再現率)=本当の陽性のうち検出できた割合。見逃し(FN)を減らしたいときに重視
  • F1スコア=precisionとrecallのバランス(調和平均)。両者を総合的に見たいとき

precision と recall、どちらを優先する?

この2つはトレードオフの関係にあり、課題で優先度が変わります。

precision重視とrecall重視の使い分けを示す図
図:見逃しが致命的(病気の検出など)=recall重視。誤検知のコストが高い(重要メールの誤スパム判定など)=precision重視。
  • recall重視:病気のスクリーニング、不正検知など、見逃し(FN)が致命的な場面
  • precision重視:スパム判定、レコメンドなど、誤検知(FP)のコストが高い場面

ROC曲線とAUC

ROC曲線は分類のしきい値を変えたときの「当たり(recall)と誤検知の割合」の関係を描いた曲線、AUCはその曲線の下の面積です。AUCが1に近いほど、しきい値によらず良い分類器といえます。クラスが偏ったデータでもモデルの良し悪しを比較しやすい指標です。

回帰の評価:RMSE

住宅価格や需要量のような連続値を予測する回帰では、混同行列やF1は使えません。代わりにRMSE(二乗平均平方根誤差)など、予測と実測のズレの大きさを測る指標を使います。「分類=混同行列ベース」「回帰=RMSEなどの誤差」と覚えましょう。

本番に近い形で評価する

  • ベースライン:単純なモデルや既存手法を基準に、改善できているかを比較する
  • シャドウテスト(shadow variant):本番トラフィックを新モデルにも複製して流し、応答には反映せず性能を比較。本番に影響を与えずに新モデルを検証できる
  • SageMaker Clarify:モデルの予測根拠(特徴量の寄与)を説明し、評価のインサイトを得る
  • SageMaker Model Debugger:学習中の収束の問題などを検出してデバッグする

確認クイズ

Q1. あなたは重大疾患の早期スクリーニングを行う分類モデルを評価しています。陽性(疾患あり)の人を見逃すと命に関わるため、多少の誤検知(健康な人を陽性と判定)は追加検査で許容できる一方、見逃しは絶対に減らしたい状況です。最も重視すべき評価指標はどれですか。

A. Accuracy(正解率)だけを見て総合的に判断する。
B. Precision(適合率)を最大化し、誤検知を最優先で減らす。
C. Recall(再現率)を重視し、陽性の見逃し(FN)を最小化する。
D. RMSEを用いて予測誤差の大きさを評価する。

Q2. あなたは不正取引の検知モデルを評価しています。データは不正がわずか1%と極端に偏っており、「すべて正常」と予測するだけのモデルでもAccuracyは99%になってしまいます。モデルの実力を適切に評価するために用いるべき指標はどれですか。

A. 混同行列をもとにしたprecision・recall・F1スコアで、少数の陽性をどれだけ正しく扱えているかを見る。
B. Accuracy(正解率)が99%なので、十分に良いモデルと判断する。
C. RMSEで予測誤差を測り、その値だけで良し悪しを判断する。
D. 学習データのAccuracyのみを確認し、検証データは見ない。

Q3. あなたは住宅価格を予測する回帰モデルを構築し、その予測が実際の価格からどれだけずれているかを評価したいと考えています。予測対象は連続値です。最も適切な評価指標はどれですか。

A. 混同行列から計算したF1スコア。
B. Precision(適合率)。
C. ROC曲線のAUC。
D. RMSE(二乗平均平方根誤差)。

Q4. あなたは改良した新モデルを、実際の本番トラフィックでの挙動で評価したいと考えています。ただし、検証中に利用者への応答へ影響を与えることは避けたい状況です。最も適切な評価方法はどれですか。

A. 本番エンドポイントを新モデルへ一気に100%切り替えて様子を見る。
B. シャドウバリアントを使い、本番トラフィックを新モデルにも複製して流し、応答には反映せず性能を比較する。
C. オフラインの検証データだけで評価し、本番では一切確認しない。
D. SageMaker Model Debuggerで学習中の収束を確認し、それを本番性能の代わりとする。

よくある質問(FAQ)

Q. Accuracyだけ見てはいけないのはなぜ?

A. クラスが偏っていると当てにならないからです。不正1%のデータなら「全部正常」と予測してもAccuracyは99%。precision・recall・F1で少数クラスの扱いを見ます。

Q. precisionとrecallはどう使い分ける?

A. 見逃しが致命的ならrecall(病気検出など)、誤検知のコストが高いならprecision(スパム判定など)を重視します。両者のバランスはF1で見ます。

Q. 分類と回帰で指標は違う?

A. はい。分類は混同行列ベース(precision/recall/F1/AUC)回帰はRMSEなどの誤差を使います。

まとめ

  • 分類は混同行列が出発点。見逃し回避=recall/誤検知回避=precision、バランスはF1
  • 偏ったデータではAccuracyは当てにならない。ROC/AUCも比較に有効
  • 回帰はRMSEなどの誤差で評価
  • 本番評価はシャドウテスト(影響なく検証)、根拠説明はClarify、学習デバッグはModel Debugger
🎯 次のステップ

※本記事はAWS公式試験ガイド(MLA-C01)および各サービスの公開ドキュメントに基づき、エンジニアKが作成しています。サービス仕様は更新されることがあるため、最新は必ずAWS公式でご確認ください。本サイトはAmazon Web Services, Inc.の公式サイトではありません。AWSは同社の商標です。

コメント

タイトルとURLをコピーしました