二値分類器のAUC
機械学習で作成したモデルは、様々な計算方法で評価される。ここでは、ROC曲線とAUCについてまとめてみる。
二値分類器について考える。二値分類器は[0, 1]区間の実数値(以下、スコア)を出力するものとする。
データ番号 | 正解ラベル | スコア |
---|---|---|
1 | apple | 0.1 |
2 | non-apple | 0.9 |
3 | apple | 0.2 |
4 | apple | 0.4 |
5 | non-apple | 0.4 |
6 | non-apple | 0.7 |
7 | non-apple | 0.8 |
8 | non-apple | 0.5 |
9 | apple | 0.4 |
学習した二値分類器が上記のようなスコアを出力した。この表で正解ラベル列はまだ気にしなくても良い。 このスコアにしきい値を設けることで、二値分類ができる。例えば、0.5未満をappleと判断すると仮定する。分類結果の列を追加して表を更新する。
データ番号 | 正解ラベル | スコア | 分類結果 |
---|---|---|---|
1 | apple | 0.1 | apple |
2 | non-apple | 0.9 | non-apple |
3 | apple | 0.2 | apple |
4 | apple | 0.4 | apple |
5 | non-apple | 0.4 | apple |
6 | non-apple | 0.7 | non-apple |
7 | non-apple | 0.8 | non-apple |
8 | non-apple | 0.5 | non-apple |
9 | apple | 0.4 | apple |
このときの混同行列は、以下のようになる。
apple(予測) | non-apple(予測) | |
---|---|---|
apple(真値) | 4 | 0 |
non-apple(真値) | 1 | 4 |
真陽性率は、4/4 = 1。偽陽性率は、1/(1 + 4) = 0.2となる。この閾値を0.1ずつ変化させて、偽陽性と真陽性を計算してみると以下の表が作成できる。
しきい値 | 偽陽性 | 真陽性 |
---|---|---|
0.1 | 0 | 0 |
0.2 | 0 | 0.25 |
0.3 | 0 | 0.5 |
0.4 | 0 | 0.5 |
0.5 | 0.2 | 1 |
0.6 | 0.4 | 1 |
0.7 | 0.4 | 1 |
0.8 | 0.6 | 1 |
0.9 | 0.8 | 1 |
偽陽性を横軸に、真陽性を縦軸にプロットした点を結んだ曲線をROC曲線と呼ぶ。そしてROC曲線の下部面積をAUCと呼ぶ。AUCは[0, 1]の範囲を取る。その値が高いとき、分類器の判別能が高い。つまり、2つのクラスを異なるものとして識別する能力が高い。AUCが低いとき、判別能が十分ではなく間違えやすい。