機械学習モデルの分類性能を評価する重要な指標
AUC (Area Under the Curve) は、ROC曲線の下の面積を表す指標で、二値分類モデルの性能を総合的に評価します。
AUC = ROC曲線とX軸に囲まれた領域の面積
値の範囲: 0.0 ~ 1.0 (0.5が完全なランダム、1.0が完璧な分類)
✅ ほぼすべての陽性を正しく分類
❌ ランダムな予測と変わらない
ROC (Receiver Operating Characteristic) 曲線は、分類の閾値を変化させたときの以下の2つの指標の関係を示します:
X軸: 偽陽性率 (FPR: False Positive Rate)
FPR = FP / (FP + TN) = 陰性のうち誤って陽性と判定した割合
Y軸: 真陽性率 (TPR: True Positive Rate) = 再現率 (Recall)
TPR = TP / (TP + FN) = 陽性のうち正しく陽性と判定した割合
分類モデルは通常、確率値を出力します。この確率に対する閾値を変えることで、TPRとFPRが変化します。
| 閾値 | 予測 | TPR (感度) | FPR | 説明 |
|---|---|---|---|---|
| 0.1 | ほぼ全員陽性 | 0.95 | 0.80 | 病気を見逃さないが、誤診も多い |
| 0.5 | バランス型 | 0.80 | 0.20 | バランスの取れた判定 |
| 0.9 | 慎重型 | 0.60 | 0.05 | 確実なケースのみ陽性と判定 |
AUCは、ランダムに選んだ陽性サンプルが、ランダムに選んだ陰性サンプルよりも高いスコアを得る確率を表します。
例: AUC = 0.85 の場合、85%の確率で陽性サンプルが陰性サンプルより高いスコアを得る
非常に良い分類性能
実用レベル
まずまずの性能
改善の余地あり
ランダムに近い
モデル見直しが必要
| AUC範囲 | 評価 | 意味 |
|---|---|---|
| 1.0 | 完璧 | 完全な分類(現実的には稀、過学習の可能性も) |
| 0.9 - 0.99 | 優秀 | 非常に高い識別能力 |
| 0.8 - 0.89 | 良好 | 良い識別能力 |
| 0.7 - 0.79 | 普通 | まずまずの識別能力 |
| 0.6 - 0.69 | 不十分 | 識別能力が低い |
| 0.5 - 0.59 | 失敗 | ランダム予測に近い |
| < 0.5 | 逆効果 | 予測を反転させたほうがまし |
例: がんの診断モデル
例: クレジットカード不正利用検知
例: メールのスパム判定
例: ユーザーが広告をクリックするか予測
例: ローン返済能力の予測
| 指標 | 説明 | 使い分け |
|---|---|---|
| AUC-ROC | ROC曲線の下の面積 | バランスの取れたデータセット |
| AUC-PR | Precision-Recall曲線の下の面積 | 極端な不均衡データ(不正検知など) |
| F1スコア | 精度と再現率の調和平均 | 特定の閾値での性能評価 |
| Log Loss | 確率予測の精度 | 確率の質を評価したい場合 |
| Accuracy | 全体の正解率 | バランスの取れたデータ(不均衡には不向き) |
A: はい、AUC 0.5はランダムな予測と同等です。コインを投げて決めるのと変わらず、モデルとして機能していません。特徴量の見直しやモデルの変更が必要です。
A: 必ずしもそうではありません。訓練データに対してAUC 1.0なら過学習の可能性があります。テストデータでも高いAUCが維持されるか確認が重要です。
A: 使えますが注意が必要です。極端な不均衡(例: 陽性0.1%)の場合、AUC-ROCだけでなくAUC-PR(Precision-Recall)も併用することを推奨します。
A: Accuracyは特定の閾値での正解率、AUCはすべての閾値での総合的な性能です。不均衡データではAccuracyが誤解を招きやすく、AUCのほうが信頼できます。