ROC曲線とAUCは、分類モデルの評価でよく出てきます。教科書に書いている図はそれほど難しくはないと思うのですが、試験問題になったときにどっちがどっち?的な。本来点数を取るべき問題を落としてしまいそう。また、そもそもこれって何?っていう理解がモヤモヤするので、ここでちゃんと整理しておきましょう。
1. ROC曲線とは? ― 誤検出と見逃しのバランスを見るグラフ
ROC曲線(Receiver Operating Characteristic)は、分類モデルがどれくらい正しく判定できるかを視覚的に確認するためのグラフです。縦軸と横軸にそれぞれ別の「性能指標」を置き、閾値(カットオフ)を動かしたときの振る舞いをプロットします。
- 縦軸(TPR:真陽性率):異常を見逃さない
本当(True)に陽性(Positive)(例:異常)だったものを正しく陽性と判定できた割合(Rate) - 横軸(FPR:偽陽性率):誤検出を減らす
本当は陰性(例:正常)なのに誤って(False)陽性(Positive)と判定してしまった割合(Rate)
これらを様々な閾値で計算し、点をつないだ線がROC曲線です。ROC曲線が左上に近いほど、誤判定が少なく正確なモデルであると考えられます。
2. TPR と FPR を具体的に理解する
言葉だけだと分かりにくいので、具体例で確認します。
TPR(真陽性率):例えば、100個の異常品があって、そのうち90個を異常と判定できれば TPR = 90% です。
FPR(偽陽性率):例えば、100個の正常品があって、そのうち10個を誤って異常扱いにしたら FPR = 10% です。
重要なのは「TPR を上げると FPR も上がりやすい」という点です。つまり、たくさん拾おうとすると誤検出も増える、というトレードオフが常に存在します。
3. カットオフ値(閾値)が判断を決める
多くのモデルは「そのサンプルが陽性である確率(0〜1)」を出力します。ここで「何を陽性とみなすか」を決めるのがカットオフ値です。 例:カットオフ 0.6 にすると、スコア0.6以上を陽性と判定する。
カットオフの設定による影響は次の通りです。
- カットオフを低くする → 異常を見逃しにくくなる(TPR↑)が、誤検出が増える(FPR↑)
- カットオフを高くする → 誤検出は減る(FPR↓)が、見逃しが増える(TPR↓)
それなら、「誤検出をなくす」方向が良さそうに見えますが、現実の業務ではそう簡単にはいきそうにありません。 たとえば不良品検知では、誤検出(正常品を異常と誤判定)よりも見逃し(不良品を見逃す)を避けたいでしょう。でも、医療検査のように「偽陽性を出すと無駄な再検査が増える」場面では、逆に誤検出を減らす方向が重要になりそうです。
このように、カットオフ値は「どちらのミスをどこまで許容するか」を判断するためのものです。 ROC曲線を用いることで、さまざまなカットオフにおけるTPRとFPRのバランスを俯瞰し、目的に合った閾値を選べるようになるわけですね。
4. なぜ ROC は「曲線」になるのか
理想的なモデルであれば、異常はすべてスコア1.0、正常はすべて0.0に分かれ、どこで線を引いても誤判定が発生しません。この場合、ROC曲線は左上に張り付くようになります(AUC = 1.0)。
しかし現実のモデルでは、異常でも低スコア、正常でも高スコアが出ることがあるため、閾値を変えると TPR/FPR の組合せが変化し、滑らかな曲線になるわけです。
5. AUC とは何か ― ROC の下の「面積」で見る評価
AUC(Area Under the Curve)は、ROC曲線の下の面積を表します。
面積が大きいという条件になるのは、横軸(偽陽性率)が低い時(異常を見逃しにくい時)でも、縦軸(真陽性率)が高い時ということになります。
したがって、面積が大きいほど「陽性と陰性をうまく分けられている」モデルとなります。
代表的な目安は次の通り。
- AUC = 1.0:理想的なモデル(完全に分離できる)
- AUC = 0.7〜0.9:実務で良好とされる範囲(文脈依存)
- AUC = 0.5:ランダム判定(コイントスと同等)
- AUC = 0.5 以下(無意味) →線が右下にへこんでいる状態
AUC は閾値に依存しない総合評価と見なせるため、モデル同士の比較に便利です。ただし、閾値設定やクラスの不均衡(陽性が極端に少ないなど)には注意が必要です。
6. ROC と AUC の要点まとめ
| 状態 | TPR | FPR | ROC の形 | AUC の目安 |
|---|---|---|---|---|
| 理想的 | 1.0 | 0.0 | 左上に張り付く | 1.0 |
| ランダム | 0.5 | 0.5 | 対角線 | 0.5 |
| 現実的(良好) | 0.7〜0.9 | 0.1〜0.3 | 緩やかな上向き曲線 | 0.7〜0.9 |
まとめ
ROC曲線は「誤検出(FPR)と見逃し(TPR)のトレードオフ」を可視化するツールで、AUC はその「総合力」を表す指標です。数式を追わなくても、グラフの形とヒストグラムの分離感で性能の傾向を把握できる点が実務では有用です。
📘 シリーズ記事の流れ
次の記事 ▶️:

📚 シリーズトップ:




コメント