之前有篇文章返修的时候审稿人就问了这样一个问题:为什么使用ROC曲线而不考虑PR曲线,有没有尝试过其它方法进行分类诊断?于是就有了今天总结的内容。
1.ROC诊断曲线
背景
ROC的全称是“受试者工作特征”(Receiver Operating Characteristic)曲线,首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。之后很快就被引入了心理学来进行信号的知觉检测。此后被引入机器学习领域,用来评判分类、检测结果的好坏。因此,ROC曲线是非常重要和常见的统计分析方法。
定义
ROC能衡量某种诊断方法对疾病的识别能力,是确定诊断试验标准(即区分正常和异常的界值)的重要手段。接受者操作特性曲线就是以假阳性概率(False positive rate)为横轴,击中概率为纵轴所组成的坐标图,和被试在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。
主要用途
1.ROC曲线能很容易地查出任意界限值时的对性能的识别能力。
2.选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少。
3.两种或两种以上不同诊断试验对算法性能的比较。在对同一种算法的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。
优点
该方法简单、直观,通过图示可观察分析方法的准确性,并可用肉眼作出判断。ROC曲线将灵敏度与特异性以图示方法结合在一起,可准确反映某分析方法特异性和敏感性的关系,是试验准确性的综合代表。ROC曲线不固定分类界值,允许中间状态存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一更佳截断点作为诊断参考值。提供不同试验之间在共同标尺下的直观的比较,ROC曲线越凸越近左上角表明其诊断价值越大,利于不同指标间的比较。曲线下面积可评价诊断准确性
基本概念
横坐标:1-Specificity,1-特异性,伪正类率(False positive rate, FPR),预测为正但实际为负的样本占所有负例样本的比例,X轴越接近零准确率越高;
纵坐标:Sensitivity,真正类率(True positive rate, TPR),预测为正且实际为正的样本占所有正例样本的比例,Y轴越大代表准确率越好。
TPR和FPR:TPR(敏感度,真阳性率):在所有实际为阳性的样本中,被正确地判断为阳性之比率:TPR=TP/(TP+FN);FPR(1-特异性,假阳性率):在所有实际为阴性的样本中,被错误地判断为阳性之比率:FPR=FP/(FP+TN)。四个指标,分别为:真阳(TP)、伪阳(FP)、伪阴(FN)、真阴(TN)。
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
在AUC>0.5的情况下,AUC越接近于1,说明诊断效果越好;AUC在0.5~0.7时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。
优点:兼顾正例和负例的权衡。因为TPR聚焦于正例,FPR聚焦于与负例,使其成为一个比较均衡的评估方法。
ROC曲线选用的两个指标, TPR和FPR,都不依赖于具体的类别分布。
缺点:ROC曲线的优点是不会随着类别分布的改变而改变,但这在某种程度上也是其缺点。因为负例N增加了很多,而曲线却没变,这等于产生了大量FP。像信息检索中如果主要关心正例的预测准确性的话,这就不可接受了。在类别不平衡的背景下,负例的数目众多致使FPR的增长不明显,导致ROC曲线呈现一个过分乐观的效果估计。ROC曲线的横轴采用FPR,根据公式 ,当负例N的数量远超正例P时,FP的大幅增长只能换来FPR的微小改变。结果是虽然大量负例被错判成正例,在ROC曲线上却无法直观地看出来。(当然也可以只分析ROC曲线左边一小段)
2.P-R曲线
P-R曲线刻画查准率和查全率之间的关系,查准率指的是在所有预测为正例的数据中,真正例所占的比例,查全率是指预测为真正例的数据占所有正例数据的比例。
即:查准率P=TP/(TP + FP) 查全率=TP/(TP+FN)
查准率和查全率是一对矛盾的度量,一般来说,查准率高时,查全率往往偏低,查全率高时,查准率往往偏低,例如,若希望将好瓜尽可能多选出来,则可通过增加选瓜的数量来实现,如果希望将所有的西瓜都选上,那么所有的好瓜必然都被选上了,但这样查准率就会较低;若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得查全率较低。
PR曲线与ROC曲线的相同点是都采用了TPR (Recall),都可以用AUC来衡量分类器的效果。不同点是ROC曲线使用了FPR,而PR曲线使用了Precision,因此PR曲线的两个指标都聚焦于正例。类别不平衡问题中由于主要关心正例,所以在此情况下PR曲线被广泛认为优于ROC曲线。
使用场景
1.ROC曲线由于兼顾正例与负例,所以适用于评估分类器的整体性能,相比而言PR曲线完全聚焦于正例。
2.如果有多份数据且存在不同的类别分布,比如信用卡欺诈问题中每个月正例和负例的比例可能都不相同,这时候如果只想单纯地比较分类器的性能且剔除类别分布改变的影响,则ROC曲线比较适合,因为类别分布改变可能使得PR曲线发生变化时好时坏,这种时候难以进行模型比较;反之,如果想测试不同类别分布下对分类器的性能的影响,则PR曲线比较适合。
3.如果想要评估在相同的类别分布下正例的预测情况,则宜选PR曲线。
4.类别不平衡问题中,ROC曲线通常会给出一个乐观的效果估计,所以大部分时候还是PR曲线更好。
5.最后可以根据具体的应用,在曲线上找到最优的点,得到相对应的precision,recall,f1 score等指标,去调整模型的阈值,从而得到一个符合具体应用的模型。
作者:解琪琪;袁文华
链接:https://www.jianshu.com/u/bcb81276c29d
来源:简书
参考学习资源:全面理解ROC
机器学习基础(1)- ROC曲线理解
AUC,ROC我看到的最透彻的讲解
机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
ROC Analysis: Key Statistical Tool for Evaluating Detection Technologies
Advantages of ROC curves
为什么ROC曲线不受样本不均衡问题的影响
二战周志华《机器学习》-PR曲线和ROC曲线
深度学习面试题解答
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。