概要

ROC曲線とAUCは、”2値モデルの精度を評価する“ためのものです。
2値モデルとは、”2値、つまり陰性/陽性を予測するためのモデル“を指しています。
2値モデルを複数作った時に、精度比較をする際、使われます。
ROC曲線とAUCはセットで使われます。
概要としては、ROC曲線は「精度を可視化したグラフ」であり、AUCは「ROC曲線から作成される評価値」です。
下記詳細の通り、AUCが大きい方のモデルが予測精度が高い形になります。

詳細

前提知識

ROC曲線とAUCの説明をするにあたって、必要な用語について先に説明します。

真陽性率 (TPF)

真陽性率は「実際は陽性であるデータ(真陽性)の内、陽性(真)の予測がされたデータの件数割合」です。
例えば、実際は陽性のデータが10件であり、その内、予測結果が陽性のデータが4件であれば、真陽性率は 4 / 10 = 「0.4」 となります。
真陽性率の略称は、「TPF」( True Positive Fraction )です。

偽陽性率 (FPF)

偽陽性率は「実際は陰性であるデータ(偽陽性)の内、陽性(偽)の予測がされたデータの件数割合」です。
例えば、実際は陰性のデータが20件であり、その内、予測結果が陽性のデータが4件であれば、真陽性率は 4 / 20 = 「0.2」 となります。
偽陽性率の略称は、「FPF」( False Positive Fraction )です。

カットオフポイント

カットオフポイントは「予測値から陽性/陰性の判断をするための基準(閾値)」です。
基本的に、予測値について、カットオフポイント以上であれば陽性、未満であれば陰性と予測します。
(「以上」か「より大きい」かは特別決まっていません。あくまで、区切り点を指します。)

例えば、予測値が、下記の通りだとします。

ID予測値
A10
B30
C5

この時、カットオフポイントを仮に 15 とした時、各データの陽性/陰性の判断は下記の通り、予測値が15以上か否かで陽性/陰性を判断します。

ID予測値予測 (陽性/陰性)
A10陰性 (N)
B30陽性 (P)
C5陰性 (N)

ROC曲線

ROC曲線は「予想値に対して、カットオフポイントを任意に設定した時の ( FPF , TPF ) をxy平面にプロットし、それらを線で繋げたもの」を指します。
ROCは「Receiver Operatorating Characteristic」(受信者動作特性)の略称です。

ROC曲線は、下図のようなグラフになります。
横軸がFPF(偽陽性率)、縦軸がTPF(真陽性率)です。
FPF、TPFどちらも件数割合なので、横軸、縦軸共に0~1の範囲のグラフになります。

AUC

AUCは「ROC曲線の横軸と曲線で挟まれた部分の面積」を指します。
AUCは「Area Under the Curve」(曲線の下の領域)の略称です。
ROC曲線の定義より、AUCが大きいモデルの方が予測精度が高い形になります。
但し、上記の通り、AUCはあくまで “予測したデータ” に対して、”TPF と FPF の観点” で比較した結果です。
モデル評価の際は、(名前がAUCに近い)AIC等、色々な観点で評価できるものなので、「一概にAUCで評価すれば良い」と過信しすぎないように注意した方が良いです。

By clear

データエンジニア・機械学習・分析等を主とし、Webアプリ開発も行っているフリーランスです。