ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

全面了解ROC曲线

2021-09-16 12:04:58  阅读:920  来源: 互联网

标签:AUC 曲线 阈值 模型 ROC 分类器 全面


 转自:https://www.plob.org/article/12476.html

 

初识ROC曲线

1. ROC的前世今生

ROC的全称是“受试者工作特征”(Receiver Operating Characteristic)曲线,首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。之后很快就被引入了心理学来进行信号的知觉检测。此后被引入机器学习领域,用来评判分类、检测结果的好坏。因此,ROC曲线是非常重要和常见的统计分析方法。

2. “ROC 曲线”思路:

根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例(阈值)进行预测,每次计算出两个重要量的值(TPR、FPR),分别以它们为横、纵坐标作图。

3. AUC (Area under Curve):

ROC曲线下的面积,通常介于0.5和1之间,作为数值可以直观的评价分类器的好坏,值越大越好。

4. “混淆矩阵”:

对于二分类问题,可将样本根据其真实类别与学习器预测类别的组合划分为TP(true positive)、FP(false positive)、TN(true negative)、FN(false negative)四种情况,TP+FP+TN+FN=样本总数。

全面了解ROC曲线

http://zhwhong.ml/2017/04/14/ROC-AUC-Precision-Recall-analysis/

(1) 真阳性(True Positive,TP):检测不健康,且实际不健康;正确肯定的匹配数目;

(2) 假阳性(False Positive,FP):检测不健康,但实际健康;误报,给出的匹配是不正确的;

(3) 真阴性(True Negative,TN):检测健康,且实际健康;正确拒绝的非匹配数目;

(4) 假阴性(False Negative,FN):检测健康,但实际不健康;漏报,没有正确找到的匹配的数目。

 深入了解ROC曲线

ROC曲线其实是多个混淆矩阵的结果组合。

全面了解ROC曲线

以疾病检测为例,这是一个有监督的二分类模型,模型对每个样本的预测结果为一个概率值,我们需要从中选取一个阈值来判断健康与否。

定好一个阈值之后,超过此阈值定义为不健康,低于此阈值定义为健康,就可以得出混淆矩阵。

而如果在上述模型中我们没有定好阈值,而是将模型预测结果从高到低排序,将每次概率值依次作为阈值,那么就可以得到多个混淆矩阵。对于每个混淆矩阵,我们计算两个指标TPR和FPR,以FPR为x轴,TPR为y轴画图,就得到了ROC曲线。

全面了解ROC曲线

一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting,AUC面积越大一般认为模型越好。

 AUC值作为评价标准

1. AUC (Area Under Curve)

被定义为ROC曲线下的面积,取值范围一般在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

2.AUC 的计算方法

非参数法:(两种方法实际证明是一致的)

(1)梯形法则:早期由于测试样本有限,我们得到的AUC曲线呈阶梯状。曲线上的每个点向X轴做垂线,得到若干梯形,这些梯形面积之和也就是AUC 。

(2)Mann-Whitney统计量: 统计正负样本对中,有多少个组中的正样本的概率大于负样本的概率。这种估计随着样本规模的扩大而逐渐逼近真实值。

参数法:

(3)主要适用于二项分布的数据,即正反样本分布符合正态分布,可以通过均值和方差来计算。

3.从AUC判断分类器(预测模型)优劣的标准

· AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。

· 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

· AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。

· AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

三种AUC值示例:全面了解ROC曲线

总结:AUC值越大的分类器,正确率越高

4. 不同模型AUC的比较

总的来说,AUC值越大,模型的分类效果越好,疾病检测越准确;不过两个模型AUC值相等并不代表模型效果相同,例子如下:

下图中有三条ROC曲线,A模型比B和C都要好

全面了解ROC曲线

下面两幅图中两条ROC曲线相交于一点,AUC值几乎一样:当需要高Sensitivity时,模型A比B好;当需要高Speciticity时,模型B比A好;

全面了解ROC曲线

全面了解ROC曲线

 最优临界点怎么找

说人话,就是保证TPR高的同时FPR要尽量的小,建立max(TPR+(1-FPR))的模型。同样有三种方法:找到离(0,1)最近的点、Youden index和最小损耗(cost criterion)

全面了解ROC曲线

1. 如果说Sn 和Sp 分别对应于sensitivity和specificity,所有ROC曲线上的点到ROC的距离可以表示为,让d最小就好啦;

2. Youden index : 最大化ROC曲线上的点到x轴的垂直距离(最大化TPR(Sn)和FPR(1-Sp)的差异);

3. 考虑人力物力和财力(第三种方法很少用,因为很难评估)

ROC的好基友——PR曲线

1.介绍

PR曲线和ROC曲线类似,ROC曲线是FPR和TPR的点连成的线,PR曲线是准确率和召回率的点连成的线,如下图所示。

全面了解ROC曲线

全面了解ROC曲线

我们又知道,Recall=TPR,因此PRC的横坐标为ROC的纵坐标。

2. ROC曲线与PR曲线的取舍

相对来讲ROC曲线会稳定很多,在正负样本量都足够的情况下,ROC曲线足够反映模型的判断能力。因此,对于同一模型,PRC和ROC曲线都可以说明一定的问题,而且二者有一定的相关性,如果想评测模型效果,也可以把两条曲线都画出来综合评价。对于有监督的二分类问题,在正负样本都足够的情况下,可以直接用ROC曲线、AUC、KS评价模型效果。在确定阈值过程中,可以根据Precision、Recall或者F1来评价模型的分类效果。对于多分类问题,可以对每一类分别计算Precision、Recall和F1,综合作为模型评价指标。

全面了解ROC曲线

在上图中,(a)和(c)为ROC曲线,(b)和(d)为Precision-Recall曲线。(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。

 

参考资料

https://en.wikipedia.org/wiki/Receiver_operating_characteristic

https://www.zhihu.com/question/30643044

http://www.it610.com/article/4964856.htm

http://zhwhong.ml/2017/04/14/ROC-AUC-Precision-Recall-analysis/

http://www.medicalbiostatistics.com/

标签:AUC,曲线,阈值,模型,ROC,分类器,全面
来源: https://www.cnblogs.com/jiangkejie/p/15292856.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有