AUCの仕組み

AUCとは?

AUC(Area Under the Curve)は、予測モデルがTRUEとFALSEをしっかり分類できているかを判断するための指標です。例えば、「この人は病気になるか?」「この商品は売れるか?」といったYes/Noの予測問題で、モデルの性能を測るときに使います。

AUCは0.5から1の間の数値を取り、1に近ければ近いほどTRUEとFALSEを上手く分けられていることを意味します。

AUCの基本的な考え方

AUCを理解するためには、まず予測モデルがどのように動作するかを知る必要があります。

予測モデルは各データに対して「TRUEである確率」を計算します。この確率の分布を見ると、実際のデータの状況が分かります。

上の図では、FALSEの人たちの分布(オレンジ色)は予測確率が低い部分に集中し、TRUEの人たちの分布(青色)は予測確率が高い部分に分散していることが分かります。

理想的には、確率が低ければより実際のデータもFALSEであり、確率が高ければより実際のデータもTRUEであってほしいのですが、実際には確率が高くてもFALSEのデータはあるし、逆に確率が低くてもTRUEのデータもあります。

理想としては、確率が高ければ実際のデータもTRUEだけであり、逆に確率が低ければ実際のデータはFALSEだけであってほしいのです。

実際のAUCの計算例

AUCを具体的に理解するために、3つのケースを見てみましょう。

ケース1:完全に分離できている場合(AUC = 1.0)

最初のケースは、モデルがTRUEとFALSEを完全に分離できている理想的な状況です。この場合、AUC = 1.0となります。

TRUEとなる確率の値を大きい方から少しずつ動かし、それぞれの時点でどれだけTRUEが出てきているのか、またはFALSEが出てきているのかをチャートに描いてみます。

この手順を続けていくと、以下のような変化が見られます:

境界値を変えることで、見えているTRUEの割合が**25%**になります。

さらに境界値を変えると、**50%**のTRUEが見えています。

続けて**75%**のTRUEが見えるようになります。

最終的に**100%**のTRUEが見えている状態になります。

それぞれの点を結んだ線のことをROC(Receiver Operating Characteristic)カーブと言います。

ROCカーブの下の面積をAUC(Area Under the Curve)と言います。完全分離の場合、この面積は1.0となります。

この面積、つまりAUCが大きければ大きいほど予測モデルはTRUEとFALSEをうまく切り分けられることができていると考えられます。

ケース2:まったく分離できていない場合(AUC = 0.5)

2番目のケースは、モデルがTRUEとFALSEをまったく分離できていない場合です。この場合、AUC = 0.5となります。

分離できていない場合、ROCカーブは対角線になり、その下の面積(AUC)は0.5となります。これは、モデルがランダムに予測しているのと同じ性能であることを意味します。

ケース3:実際のモデルの例(AUC = 0.85)

実際のモデルでは、TRUEとFALSEの分布が重なっている部分があります。

このような実際のモデルの場合:

境界値を変更すると、見えているTRUEの割合が30%、見えているFALSEの割合が**2%**となります。

最終的にROCカーブを描くと、その下の面積(AUC)は0.85となります。これは比較的良い性能を示しています。

まとめ

AUC(Area Under the Curve)は、機械学習の分類モデルが「正解(TRUE)」と「間違い(FALSE)」をどれくらい上手に見分けられるかを測る指標で、ROC曲線という グラフの下の面積を計算したものです。

AUCの値は0.5から1.0の間で、1.0に近いほど優秀なモデルです。具体的には、AUCが1.0なら正解と間違いの確率分布が完全に分かれている完璧なモデル、AUCが0.5なら正解と間違いの分布が完全に重なってしまい予測能力がないモデル、AUCが0.9程度なら正解と間違いがある程度分かれているが少し重複もある実用的なモデルということを表します。

つまりAUCは、モデルが出す確率の分布を見て、正解グループと間違いグループがどれくらいきれいに分かれているかを数値化した「モデルの成績表」のような指標なのです。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio