首页 [机器学习]ML性能指标工具-ROC曲线
文章
取消

[机器学习]ML性能指标工具-ROC曲线

ROC和AUC的作用

ROC即受试者工作特征曲线。

ROC stands for Receiver Operating Characteristic (from Signal Detection Theory)

ROC曲线的横坐标是伪阳性率(False Positive Rate),纵坐标是真阳性率(True Positive Rate),因此ROC曲线越靠近左上角,模型的准确性就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。这样可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

如果两条ROC曲线没有相交,我们可以根据哪条曲线最靠近左上角哪条曲线代表的学习器性能就最好。但是,实际任务中,情况很复杂,如果两条ROC曲线发生了交叉,则很难一般性地断言谁优谁劣,这时可引入AUC(Area Under ROC Curve)面积的计算比较。

  1. 理想情况下,TPR应该接近1,FPR应该接近0。ROC曲线上的每一个点对应于一个threshold,对于一个分类器,每个threshold下会有一个TPR和FPR。比如Threshold最大时,TP=FP=0,对应于原点;Threshold最小时,TN=FN=1,对应于右上角的点(1,1)。
  2. P和N得分不作为特征间距离d的一个函数,随着阈值theta增加,TP和FP都增加。
    • 横轴FPR:1-TNR,1-Specificity,FPR越大,预测正类中实际负类越多。
    • 纵轴TPR:Sensitivity(正类覆盖率),TPR越大,预测正类中实际正类越多。
    • 理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。

reference

  • http://mlwiki.org/index.php/ROC_Analysis
本文由作者按照 CC BY 4.0 进行授权

[机器学习] 重新分析交通事故数据预测模型(三) - Tensorflow2.0上的RNN模型建立

[C++]撸一个线程池