こんにちは、ブレインズテクノロジーの中澤貴明です。
今回は前回のImpulse用語解説「精度指標」とは?その1に続きImpulseにて利用される用語を説明します。
精度指標とは
機械学習もモデルが良いか悪いかを評価する上で避けて通れない精度指標について解説します。ここで説明する精度指標については、機械学習では一般用語となるため、決して弊社独自の、Impulse固有の言葉ではありませんので、インターネット上で検索していただければその意味を解説しているサイトを見つけられるでしょう。ここでは、Impulseにて分析を行った際を想定し、その結果として出力された精度指標について、その考え方とともに意味を説明します。
精度指標
本ブログ執筆時点(2021/9/14)時点のImpulse v2.3.4では以下の精度指標が利用可能です。※Impulse独自指標を除く。
精度指標 | 意味 |
Accuracy | 正答率。各データに対してどれだけ正確に判定ができたかを指す指標。※用語解説その1で説明。 |
TPR | 真陽性率(True Positive Rate)異常をどれだけ適切に検知できたかを指す指標。※用語解説その1で説明。 |
FPR | 偽陽性率 (False Positive Rate)。正常をどれだけ誤って異常と判定したかを指す指標。※用語解説その1で説明。 |
TNR | 真陰性率(True Negative Rate)。どれだけ正常を正常といえたかを指す指標。 |
FNR | 偽陰性率(False Negative Rate)。どれだけ異常を見逃したかを指す指標。 |
AUROC | ROC曲線におけるグラフの曲線より下の部分の面積。本ブログ対象。 |
AUPRC | RR曲線におけるグラフの曲線より下の部分の面積。 |
Precision | 異常と判定したもののうち、実際に異常であるものの割合。 |
Recall | 実際に異常であるもののうち、正しく異常と予測できたものの割合。真陽性率(TPR)と同義。 |
F1score | 適合率と再現率の調和平均。 |
Error rate | 誤答率。正答率の逆(1 - Accuracy)。 |
今回はAUROCについて説明します。
AUROCについて
AUROCは、先程述べた表の中で説明されている通り、ROC曲線におけるグラフの曲線より下の部分の面積です。もちろん、それだけ説明されても理解にはつながらないと思いますので、順を追って説明します。AUROCについて理解するためにはまず、ROC曲線とは何かを理解する必要があります。
ROC曲線
横軸に偽陽性率(false positive rate)の割合,縦軸に真陽性率(true positive rate)の割合をプロットしたグラフがROC曲線です。ROCはReceiver Operating Characteristicの略。
偽陽性率と真陽性率のプロットについてイメージするために以下を例とします。
表の通り、スコアに対して閾値を2、閾値を5として判定を行うとその結果が得られます。各々の閾値でTPR、FPRを計算すると吹き出しの通り値が異なります。このように閾値を変化させることでTPRおよびFPRの値が変化するため、その値をプロットしたものがROC曲線となります。
上記表のスコアに対して描かれるROC曲線は以下となります。
AUROCの値
ROC曲線が理解できれば残りは簡単です。なぜならAUROCは、先程述べた通り、ROC曲線におけるグラフの曲線より下の部分の面積だからです。つまり上記グラフの下部分の面積がそれにあたります。参考までですが、上記グラフのAUROCは0.88となります。
AUROCは0から1までの値をとり、値が1に近いほどモデルの性能が高いことを示します。ランダムに判定した場合、AUROCは0.5となります。
ROC曲線やAUCの算出にあたってはオープンソースのライブラリがありますのでご活用ください。
AUROCの活用シーン
TPRやFPRといった指標ではなく、AUROCを活用するシーン(何故AUROCを活用するか)を考えるために以下を例に取ります。
上記の表を見るとモデルA、モデルBいずれも似た結果に見えます。計算するとわかりますが、Accuracy、TPR、FPRいずれもまったく同じ値です。ではこの2つのモデルは本当に同じ性能なのでしょうか?
それを確認するためAUROCを考えます。以下は各モデルが各indexのデータに対して算出したスコアです。
グラフを見るとよく分かりますが、各モデルのスコアに閾値5で判定を行った結果が、先ほど挙げた結果となります。では適切に閾値を設定できた場合、結果はどうなるのか。それを確認するためにそれぞれのモデルのROC曲線を比較します。
見て分かる通り、モデルAよりモデルBのほうがAUCROC(曲線より下の面積)が大きいことが分かります。つまり、適切に閾値が設定できればモデルBの方が良い精度となることが確認できました。
このようにAUCROCを求めることで、より適切なモデルの選択に繋げられることが本分析の効果となります。
まとめ
今回はAUROCについて説明しました。精度指標は複数存在するため、目的にあった精度指標を利用できるよう、それぞれの指標について理解を深めてください。