ROC (Receiver Operator Characteristic) 曲線とPR (Precision-Recall) 曲線は、ともに機械学習の性能を判定するために用いられる。
どちらも曲線の下の面積(AUC: Area Under the Curve)が大きいほど、性能が高いと言える。
ROC曲線
ROC曲線の解説は、
がわかりやすい。
曲線が左上の角に近いほど、性能が高いと言える。
PR曲線
ROC曲線を考えるときに用いた、
判定結果 | |||
陽性 | 陰性 | ||
真の状態 | 陽性 | TP | FN |
陰性 | FP | TN |
の表をもとに、
Recall = TP / (TP + FN) → True Positive Rateに等しい
Precision = TP / (TP + FP)
を計算し、X軸にRecall、Y軸にPrecisionをとって、各カットオフにおける値をプロットする。
曲線が右上の角に近いほど、性能が高いと言える。
関係・使い分け
ROC曲線とPR曲線には、次のような関係がある[1]。(以下はDavis J, Goadrich M. (2006)の要約であり、用語の詳細については原著論文を参照のこと)
- 歪みの大きい(陽性例より陰性例の方が圧倒的に多い)データを分析する際には、PR曲線を用いる。
- PR曲線はROC曲線に比べ、よりランキング上位のサンプルの予測の正確さを重視するため。
- ROC曲線で結果が優れるものは、PR曲線においても優れた結果を生じ、逆もまたしかり。
- PR曲線をROC曲線に投影し、そのROC曲線の凸包をPR曲線に投影することで、achievable PR curve(PR曲線の凸包みたいなもの)を描くことができる。
- ROC曲線のAUCを最適化するアルゴリズムは、PR曲線のAUCの最適化を保証しない。
すなわち、陽性サンプル << 陰性サンプルとなるデータセットでは、はじめからPR曲線を用い、そのAUCを最適化する必要がある(ROC曲線のAUCを最適化しようとしてはいけない)。
より詳細な使い分けについては、
にて説明されている。
参考文献
[1] Davis J, Goadrich M. The Relationship Between Precision-Recall and ROC Curves. 2006
コメント
[…] ROC曲線とPR曲線にて、歪みの大きいデータセット(陽性<<陰性)の分析評価にはROC曲線よりPR曲線の方が適していると述べたが、一概にそうとは言い切れない体験をしたのでここに記す。 […]