機械学習の評価指標 – ROC曲線とAUC

投稿者: | 2018年12月14日

このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 12/14の記事です。

GMOアドマーケティングとしては初のAdvent Calendar参戦です。

 

こんにちは、GMOアドマーケティングのS.Rです。

機械学習で分類の問題を解決するときに得られた結果をどのように評価をすればよいか皆さんは知っていますか?

今回はよく使われる分類問題の評価指標であるROC曲線とAUCを皆さんへ紹介します。

1 混同行列(Confusion Matrix):

ROC曲線とAUCの説明に入る前に前提知識としてまず、混同行列の定義を皆さんへ説明します。混同行列(Confusion Matrix)は、クラス分類の結果をまとめた表のことです(表1)。

今回は例として分類モデルを使って腫瘍がガンになるかを予測します。

図1: 分類モデルで腫瘍がガンになるかならないかを計算した確率の分布図

図1は分類モデルで腫瘍がガンになるかならないかを計算した確率の分布図です。

図1の結果で予測した確率0.7を判断基準としてガンになるか判断します。予測した結果の構成は表1です。

予測した結果でガンになりそう人が110名おり、

その中に本当にガンになった人は90名がいました。

予測した結果で良性腫瘍の人が90名おり、

その中に本当に健康な人は80がいました。

この結果で真陽性率又は敏感度(青)、偽陽性率(緑)、真陰性率又は特異度(赤)、偽陰性率(紫)四つの指標を計算して表3の混同行列を作成します。

この四つ指標の定義は表2で説明します。

判定結果
良性腫瘍と判断 ガンと判断
真の状態 良性腫瘍グループ 80 20
ガングループ 10 90

表1:ガンの予測結果

 

真陽性率・敏感度 偽陽性率 真陰性・特異度 陰性
ガンの人を「ガン」と判断の割合 良性腫瘍の人を「ガン」と判断の割合 良性腫瘍の人を「良性腫瘍」と判断の割合 ガンの人を「良性腫瘍」と判断の割合

表2:真陽性率、偽陽性率、真陰性、偽陽性

判定結果
良性腫瘍と判断 ガンと判断
真の状態 良性腫瘍グループ 真陽性率 (80%) 偽陽性率 (20%)
ガングループ 偽陰性率(20%) 真陰性率(90%)

表3:混同行列の例

2 ROC曲線(Receiver Operating Characteristic Curve):

ROC 曲線は真陽性率や真陰性率を組み合わせて作成した曲線です。図2の上半部分が良性腫瘍の人とガンになった人で予測した確率の分布図です。その中に青い部分が真陽性の分、赤い部分が偽陽性の分、紫部分が真陰性率の分、緑部分が偽陰性の分です。青い線はガンになるか判断する予測した確率の基準値です。

図2の下部分がROC 曲線です。ROC曲線の縦軸は真陽性率 です。横軸は真陰性率です。図2から見ること男女判断の予測したガンになる確率の分布とROC 曲線を連動しています。

図2: 予測した確率分布・ROC 曲線

3 良い分類器・悪い分類器

ROC 曲線では分類の基準指標や悪い分類の基準指標を直感で判別できます。分類器の効果は各分類の母集団で予測した確率の分布に依存されています。

例えばガンの予測で良性腫瘍の人とガンの人を学習したモデルにとって、

予測した確率の分布の図が重なったら(図3の左部分)

モデルの精度はランダムに分類する精度と同じになってしまいます。

この場合は、学習したモデルは予測に役に立ちません。

逆に良性腫瘍の人とガンの人を学習したモデルとって予測した確率の分布が大きく別れたら(図3の右部分)ガンの予測に良い効果を得られます。

図3の場合は予測した確率の基準を0.2にして99%の予測精度を得られます。

図3: 体脂肪率分布・ROC曲線

図4: 予測したガンになる確率の分布の変化・ROC曲線の変化

図4から見るとROC 曲線で分類結果の品質を直感的に判断できますが実際に使う場合に数値の指標が必要です。この為にAUCという分類結果を評価する数値の指標が定義されています。

4 AUC(Area Under Curve)

AUCは指標の名前通りROC 曲線下の面積(積分)となります。この面積の範囲がは0から1 となります。ランダム分類器はのAUC値は0.5です。AUC値は0.5以上になれば分類器の効果がランダム分類器より良いです。AUC値は0.5以下になったら評価指標を逆にしてAUC値は0.5以上の分類器を得られます。

図5: AUC

表4は経験的なAUCの評価基準です。

AUC 効果の評価
0.8以上 効果がすごくいい
0.7-0.8 効果があります
0.6-0.7 効果が多少あります
0.5-0.6 効果がありません

5 まとめ

今回は分類の問題を予測した結果の精度を評価する指標を皆さんに共有しました。いかがでしたでしょうか。

データの分析で一番重要な内容は結果の評価方法です。

今回紹介したROC曲線とAUCが 皆さんのデータ分析課題にお役に立てれば幸いです。

 

明日は「Androidでの自動UIテスト」についてのお話です。

お楽しみに!

クリスマスまで続くGMOアドマーケティング Advent Calendar 2018

ぜひ今後も投稿をウォッチしてください!

 

■エンジニアによるTechblog公開中!

https://techblog.gmo-ap.jp/

■Wantedlyページ ~ブログや求人を公開中!~

https://www.wantedly.com/projects/199431

■エンジニア採用ページ ~福利厚生や各種制度のご案内はこちら~

https://www.gmo-ap.jp/engineer/

■エンジニア学生インターン募集中! ~有償型インターンで開発現場を体験しよう~

https://hrmos.co/pages/gmo-ap/jobs/0000027