如何直观理解AUC评价指标?

如何直观理解AUC评价指标?最近一直在思考如何直观理解 AUC 查了维基百科的以及网上的讲解描述 感觉仍然很难把这个概念表述得通俗易懂 直到昨天周会后拿笔在纸上画了画 感觉似乎找到了一种比较有意思的理解方法 下面就请各位看官容我慢慢道来


导语

最近一直在思考如何直观理解AUC,查了维基百科的以及网上的讲解描述,感觉仍然很难把这个概念表述得通俗易懂,直到昨天周会后拿笔在纸上画了画,感觉似乎找到了一种比较有意思的理解方法,下面就请各位看官容我慢慢道来。首先简单介绍一下什么是AUC。

根据维基百科的描述,AUC(Area under the Curve of ROC)是ROC曲线下方的面积,是判断二分类预测模型优劣的标准。ROC(receiver operating characteristic curve)接收者操作特征曲线,是由二战中的电子工程师和雷达工程师发明用来侦测战场上敌军载具(飞机、船舰)的指标,属于信号检测理论。ROC曲线的横坐标是伪阳性率(也叫假正类率,False Positive Rate),纵坐标是真阳性率(真正类率,True Positive Rate),相应的还有真阴性率(真负类率,True Negative Rate)和伪阴性率(假负类率,False Negative Rate)。这四类的计算方法如下:

  • 伪阳性率(FPR)
    在所有实际为阴性的样本中,被错误地判断为阳性的比率。
  • 真阳性率(TPR)
    在所有实际为阳性的样本中,被正确地判断为阳性的比率。
  • 伪阴性率(FNR)
    在所有实际为阳性的样本中,被错误的预测为阴性的比率。
  • 真阴性率(TNR)
    在所有实际为阴性的样本中,被正确的预测为阴性的比率。

AUC对于每一个做机器学习的人来说一定不陌生,它是衡量二分类模型优劣的一种评价指标,表示正例排在负例前面的概率。其他评价指标有精确度、准确率、召回率,而AUC比这三者更为常用。因为一般在分类模型中,预测结果都是以概率的形式表现,如果要计算准确率,通常都会手动设置一个阈值来将对应的概率转化成类别,这个阈值也就很大程度上影响了模型准确率的计算。我们不妨举一个极端的例子:一个二类分类问题一共10个样本,其中9个样本为正例,1个样本为负例,在全部判正的情况下准确率将高达90%,而这并不是我们希望的结果,尤其是在这个负例样本得分还是最高的情况下,模型的性能本应极差,从准确率上看却适得其反。而AUC能很好描述模型整体性能的高低。这种情况下,模型的AUC值将等于0(当然,通过取反可以解决小于50%的情况,不过这是另一回事了)。

那么,如何理解这个ROC的曲线面积AUC的数学意义呢?


优雅理解法

图中阴影部分的面积便是路程,因为上图x轴上的任意两值相减得到的时间差是有直观意义的。相比之下,ROC中假阳性率相减则并没有如此直观的概念。ROC图从直观上看能得出两个结论:曲线点越接近右下角表示当前阈值预测正例出错的概率越高,准确性较低;曲线点越接近左上角则代表预测正例出错的概率越低,准确性较高。如下图:
fig4

对比之后发现,时间速度曲线是连续的,而ROC曲线是由一组离散的点组成,因为在一般情况下,分类的样本空间有限。其点总数其实就是样本总数,y轴最小步长为1/样本正例数,x轴的最小步长则是1/样本负例数。既然曲线点可枚举,那么我们就可以多举举栗子。

描点方式按照样本预测结果的得分高低从左至右开始遍历。从原点开始,每遇到1便向y轴正方向移动y轴最小步长1个单位,这里是1/5=0.2;每遇到0则向x轴正方向移动x轴最小步长1个单位,这里也是0.2。不难看出,上图的AUC等于1,印证了正例排在负例前面的概率的确为100%。

计算上图的AUC为0.96与计算正例与排在负例前面的概率0.8 × 1 + 0.2 × 0.8 = 0.96相等,而左上角阴影部分的面积则是负例排在正例前面的概率0.2 × 0.2 = 0.04。

计算上图的AUC为0.88与计算正例与排在负例前面的概率0.6 × 1 + 0.2 × 0.8 + 0.2 × 0.6 = 0.88相等,左上角阴影部分的面积是负例排在正例前面的概率0.2 × 0.2 × 3 = 0.12。


结语

至此,我们便可直观理解ROC曲线图上面积的含义了,这相当于给定最小时间单位下分段递增匀速运动时间速度曲线的路程积分问题。TPR相当于速度,每段“时间”的起始TPR越高,这段“时间”内正例排在负例前面的概率也就越大,而这个概率就是路程;FPR则相当于时间,这个可以这么理解:每次旅行总会结束,而FPR也总会到达100%(x值为1),FPR每向x轴正方向移动一步,相当于离“旅行结束”又近了一步。这样,一个积分概率,一个积分路程,大概就能近似理解了。

在此感谢各位看官的耐心阅读。后续内容将会不定期奉上,欢迎大家关注小斗公众号 对半独白



如何直观理解AUC评价指标?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202864.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:07
下一篇 2026年3月19日 下午11:08


相关推荐

  • Windows进程间通信—命名管道

    命名管道是通过网络来完成进程间的通信,它屏蔽了底层的网络协议细节。我们在不了解网络协议的情况下,也可以利用命名管道来实现进程间的通信。与Socket网络通信相比,命名管道不再需要编写身份验证的代码。将

    2021年12月27日
    50
  • Python_note_003(Python中的输入函数input()、运算符用法)「建议收藏」

    Python_note_003(Python中的输入函数input()、运算符用法)「建议收藏」输入函数input()作用:接收来自用户的输入返回值类型:输入值的类型为str值的存储:使用=对输入的值进行存储#输入函数inputpre=input('你叫什么名字?')

    2022年7月6日
    32
  • 各种系统架构图与详细说明

    各种系统架构图与详细说明共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面:1应用系统建设本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。整体应用系统通过SOA面向服务管理架构模式实现应用组件的有效整合,完成应用系统的统一化管理与维护。2应用资源采集整体应用系统资源统一分为两类,具体包…

    2022年6月6日
    171
  • java跨境电商ERP源码「建议收藏」

    java跨境电商ERP源码「建议收藏」1订单管理本模块支持多平台订单自动下载同步以及多帐号多店铺订单管理,方便用户对销售进行科学、直观的分类管理。包括订单处理,包装验货,称重出库,智能交运,交运日志,快速拣货,快速发货等子模块。2商品管理(SKU)商品管理模块,提供对亚马逊店逊商品进行线下管理的功能,包括但不限于中文名称、英文名称,售价等相应管理3.采购管理采购管理主要对于商品采购、入库、及供应商的设置,并于商品细分,包括采购管理、入库管理和供应商管理模块。4.物流管理此模块主要提供用户设置速途未对接的物…

    2026年2月3日
    3
  • redis的incr和incrby命令

    redis的incr和incrby命令

    2021年11月9日
    69
  • mysql联合主键

    mysql联合主键1、hibernate配置联合主键1.1联合主键的好处:联合主键的好处是不需要因为需要主键而增加一个无用的主键列1.2联合主键的建表语句CREATETABLE`HTTP_TERMINAL_DETAIL_STATISTICS`( `TIME`CHAR(14)NOTNULLCOMMENT’时间’, `TERMINAL_TYPE`VARCHAR(128)NOTNULLCO…

    2022年6月29日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号