深挖ROC曲线(截断值计算) - 基于R语言
前言
ROC曲线,多用于二分类问题的评价,通过选取合适的截断值(阈值threshold)便能得出AUC。但很多时候我们只是单纯地通过调包来计算AUC并绘制ROC曲线,其中的原理和最佳阈值的筛选往往被人们忽略。同时笔者最近的项目中需要重新温习这些小细节,故撰文积累一下。(本文不以实际用途出发,若只想得出结果可以看看这篇: ROC曲线基于R语言)
混淆矩阵
混淆矩阵是计算Accuracy(准确度),Sensitivity(敏感性, FPR)和Specificity(精确性, TPR)的必经之路。我们通过一个实例来具体阐释混淆矩阵(通过R语言的CrossTable计算所得):
| prediction
test$label | 0 | 1 | Row Total |
-------------|-----------|-----------|-----------|
0 | 41 | 7 | 48 |
| 0.854 | 0.146 | 0.475 |
-------------|-----------|-----------|-----------|
1 | 9 | 44 | 53 |
| 0.170 | <