AUCとROC曲線の意味と性質を分かりやすく解説

最終更新日 2019/03/31

AUCとROC曲線について、意味を詳しく解説します。また、AUCの性質を3つ紹介します。

AUCとは

AUC(Area Under the Curve)とは、2クラス分類の評価指標で、大雑把に言うと「ROC曲線の右下部分の面積」で定義されます。
AUCのイメージ

AUCは、Kaggle などのデータ分析コンペでも用いられる有名な指標です。

「2クラス分類」という問題設定や、ROC曲線、真陽性率、偽陽性率の意味については後述します。

AUCを理解するための問題設定

2クラス分類問題の例として、AからFまでの6個のデータを陽性陰性に分類する問題を考えてみます。

本当の正解は、AとBが陽性それ以外が陰性とします。

AUCの問題設定

正解を知らない人が、ある検査方法によって、それぞれが陽性である確率を推定して、上記のようになったとします。

ある程度うまく判別できているように見えますが、この検査方法はどれくらい「良い方法」と言えるでしょうか?この「良さ」を表す評価指標の1つがAUCです。

ROC曲線とは

ROC曲線の定義は少し難しいですが、例を見ながら理解してみてください。

ROC曲線とは、
「推定確率が $p$ 以上のものを陽性とみなす」とき、縦軸:真陽性率横軸:偽陽性率、に対応する点を、あらゆる $p$ に対してプロットしてつなげた折れ線グラフです。

ただし、真陽性率とは、本当に陽性のものの中で、正しく陽性とみなせた割合です。
偽陽性率とは、本当に陰性のものの中で、間違って陽性とみなした割合です。

ROC曲線の例

さきほどの具体例で考えてみます。

ROC曲線の構成

$p=0.75$ とすると、本当に陽性のもの(AとB)の中で正しく陽性とみなせたもの(A)の割合は、$\frac{1}{2}$ です。本当に陰性のもの(C、D、E、F)の中で間違って陽性とみなしたもの(C)の割合は、$\frac{1}{4}$ です。そこで、$(\frac{1}{4},\frac{1}{2})$ をプロットします。

ROC曲線とは

他のあらゆる $p$ についてもプロットして、折れ線でつなげたものがROC曲線です。

ROC曲線の性質

$p$ を小さくすると「陽性とみなす」ものの数が増えます。つまり、真陽性率偽陽性率も上がります。そのため、$p$ を小さくすると、点は右上(上または右)に進んでいきます。ROC曲線は、$p=1$ に対応する点 $(0,0)$ からスタートして、$p=0$ に対応する点 $(1,1)$ まで進む折れ線です。

その際、良いモデルの場合は真陽性率の方が早く上がるので、上に早く進みます。悪いモデルの場合は偽陽性率の方が早く上がるので、右に早く進みます。

AUCの性質

つまり、良いモデルの場合、AUC(右下部分の面積)が大きくなり、悪いモデルの場合、AUCは小さくなります。

AUCの性質

AUCの最小値は0、最大値は1です。

最悪の場合(完全に右に進んでから上に行く)AUCは0です。
最高の場合(完全に上に進んでから右に行く)AUCは1です。

ランダムで役に立たない分類モデルでも、AUCは0.5くらいになります。

ランダムな分類の場合、しきい値 $p$ をどこに設定しても、真陽性率と偽陽性率は同じくらいになります。つまり、ROC曲線が $y=x$ 付近になるため、AUCは0.5くらいになります。

AUCはモデルが出力する確率の順番のみで決まります。

つまり、順番が変わらない範囲でモデルの出力確率を動かしてもAUCは変わりません。これは、ROC曲線の構成方法から分かる性質です。

次回は クラス分類とクラスタリングの意味と違い を解説します。

ページ上部へ戻る