再理解下ROC曲线和PR曲线

本文详细解析了ROC曲线与Precision-Recall曲线的由来、原理及计算方法,包括它们在分类和检测任务中的应用。重点讨论了如何通过ROC曲线的面积(AUC)衡量分类结果的质量,并介绍了在不同阈值下的TPR和FPR关系。此外,文章还阐述了Precision-Recall曲线的原理,以及如何通过排序决策结果来构建此类曲线。最后,简要概述了AUC的计算方法,提供了一种近似采样的计算方式。

转自:http://www.zhizhihu.com/html/y2012/4076.html

       大家都发表下对着俩曲线的理解吧。

       分类、检索中的评价指标很多,Precision、Recall、Accuracy、F1、ROC、PR Curve......

一、历史

       wiki上说,ROC曲线最先在二战中分析雷达信号,用来检测敌军。诱因是珍珠港事件;由于比较有用,慢慢用到了心理学、医学中的一些检测等应用,慢慢用到了机器学习、数据挖掘等领域中来了,用来评判分类、检测结果的好坏。

       百科:ROC曲线指受试者工作特征曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。

二、原理

       这里就拿最经典的二分类(0、1)问题讨论吧,分类器分类之后,往往会得到对每个样本是哪一类的一个估计,像是LR模型就会将这个估计规范化到【0,1】,根据这个估计,你选择一个阈值p_0,就可以将分类结果映射到0,1了;分类效果好不好跟真实的label比比就行了。

       所以你手里有decision和label两个向量,用来做分类结果的评估。


       要看ROC的原理,总离不开上面这个表格,ROC绘制的就是在不同的阈值p_0下,TPR和FPR的点图。所以ROC曲线的点是由不同的p_0所造成的。所以你绘图的时候,就用不同的p_0采点就行。

       Precision-Recall曲线,这个东西应该是来源于信息检索中对相关性的评价吧,precision就是你检索出来的结果中,相关的比率;recall就是你检索出来的结果中,相关的结果占数据库中所有相关结果的比率;所以PR曲线要是绘制的话,可以先对decision进行排序,就可以当作一个rank值来用了,然后把分类问题看作检索问题,当返回一个结果的时候的PR pair是多少,2个、3个、一直到你所有的检测样本都包含;所以假设你的测试样本有100个,是不是会返回100个precision-recall点呢?然后把这些点绘制出来,就得到了PR曲线;所以,PR曲线的采点是按照样本的数量采的。注意,这一条PR曲线的绘制只对应一个p_0值,所以往往先选择最优的p_0,再绘制不同model的PR曲线,比较model的优劣。

       可以看出TPR和Recall的形式是一样的,就是查全率了,FPR就是保证这样的查全率你所要付出的代价,就是把多少负样本也分成了正的了。

上面是我的理解,不知道对不对。

三、AUC的计算

        为了更好的衡量ROC所表达结果的好坏,Area Under Curve(AUC)被提了出来,简单来说就是曲线右下角部分占正方形格子的面积比例;那么计算这个东西其实就很简单了,根据reference的paper,有很多很多计算方法,这里推荐一种近似采样的方法:采样。

       你的分类器能够将正例排在负例前面的概率是多少,也就是采样中正例的decision>负例的decision的概率。

 

### ROC曲线PR曲线的概念 #### ROC曲线概念 ROC曲线是由一系列阈值下(伪阳性率,真阳性率)构成的一系列坐标连接而成的图形[^3]。该曲线位于二维坐标系中,其中横轴代表假正类率(FPR),即 \( FPR = 1 - TNR \) 或者说 \( 1 - Specificity \);而纵轴则表示真正类率(TPR),也被称为敏感度(Sensitivity)或者召回率(Recall)。 #### PR曲线概念 PR曲线同样基于不同的决策阈值绘制,在此情况下关注的是精确率(Precision)召回率(Recall)之间的关系。对于每一个可能的分类置信度阈值,可以计算出一组对应的PrecisionRecall值并以此来构建这条曲线[^2]。 ### 曲线间的区别 主要体现在以下几个方面: - **衡量标准的不同** - 对于ROC而言,其考量的是FPR与TPR的变化趋势; - 而PR更侧重于Precision相对于Recall的表现情况。 - **适用范围上的差异** - 当数据集类别分布较为均衡时,两者都能很好地反映模型性能; - 若遇到极端不平衡的数据集,则PR往往能提供更加直观有效的评价视角,因为此时高比例的负样本可能导致极低的FPR即使在大量误报的情况下也能保持较低水平,从而使得ROC曲线下面积(AUC)显得过高估计了模型的真实效能。 - **视觉表现形式** - ROC通常会有一个固定的起(0,0)(1,1),并且理想状态下应该尽可能向左上方弯曲接近完美分类器的位置; - 反之,PR曲线不会固定经过特定位置,并且当存在较多噪声或难以区分的例子时可能会呈现出复杂的形态变化[^1]。 ### 应用场景的选择依据 选择使用哪种类型的图表取决于具体的应用背景个人偏好: - 如果希望获得一个不受类别先验概率影响的整体性能概览,那么可以选择查看AUC-ROC作为参考指标之一; - 在面对高度偏斜的数据集或是特别关心减少错误肯定案例数量的情形下,PR图能够更好地突出那些能够在维持较高查准率的同时达到良好覆盖能力的算法版本。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值