ROC,AUC,Precision,Recall,F1的介绍与计算(转)

1. 基本概念

1.1 ROC与AUC

ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve),AUC(Area Under Curve)是ROC曲线下的面积。在计算ROC曲线之前,首先要了解一些基本概念。在二元分类模型的预测结果有四种,以判断人是否有病为例:

  • 真阳性(TP):诊断为有,实际上也有病。
  • 伪阳性(FP):诊断为有,实际却没有病。
  • 真阴性(TN):诊断为没有,实际上也没有病。
  • 伪阴性(FN):诊断为没有,实际却有病。

其关系如下图所示:

ROC空间将伪阳性率(FPR)定义为X轴,真阳性率(TPR)定义为Y轴。TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率,TPR=TPTP+FN 。FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率,FPR=FPFP+TN。

1.2 Precision、Recall与F1

对于二分类问题另一个常用的评价指标是精确率(precision)与召回率(recall)以及F1值。精确率表示在预测为阳性的样本中,真正有阳性的样本所占的比例。精确率的定义为P=TPTP+FP。召回率表示所有真正呈阳性的样本中,预测为阳性所占的比例。召回率的定义为R=TPTP+FN,F1值是精确率和召回率的调和均值,公式为F1=2PRP+R。精确率和召回率都高时,F1值也会高。通常情况下,Precision与Recall是相互矛盾的。

2. 曲线介绍

2.1 ROC曲线

ROC曲线坐标系如下图所示,虚线为随机猜测的概率,即猜对跟猜错的概率是一样的。理想情况下,我们是希望FPR为0,没有一个假阳性,TPR为1,即全为真阳性,此时所有样本都被正确分类,点位于左上角(0,1)位置处,没有一个分错的数据,这是最完美的情况,实际情况中基本不可能。如果点位于虚线下方,例如C点,说明分类错误的多,分类正确的少,此时不是我们想要的。如果点位于虚线上方,例如C′点,说明分类错误的少,分类正确的多,此时是我们想要的,因此我们希望ROC曲线尽可能的靠近左上角。对于一个特定的分类器和测试数据集,只能得到一个分类结果,即ROC曲线坐标系中的一点,那么如何得到一条ROC曲线呢?分类问题中我们经常会得到某个样本是正样本的概率,根据概率值与阈值的比较来判断某个样本是否是正样本。在不同的阈值下可以得到不同的TPR和FPR值,即可以得到一系列的点,将它们在图中绘制出来,并依次连接起来就得到了ROC曲线,阈值取值越多,ROC曲线越平滑。

AUC为ROC曲线下的面积,它的面积不会大于1,由于ROC曲线一般都处于直线y=x的上方,因此AUC的取值范围通常在(0.5,1)之间。由于ROC曲线不能很好的看出分类器模型的好坏,因此采用AUC值来进行分类器模型的评估与比较。通常AUC值越大,分类器性能越好。

在基本概念中我们提到了精确率、召回率以及F1值,既然有它们作为二分类的评价指标,为什么还要使用ROC和AUC呢?这是因为ROC曲线有个很好的特性:当测试集中的正负样本分布发生变化时,即正负样本数量相差较大时,ROC曲线仍能保持不变。实际数据集中经常会出现样本数量不平衡现象,并且测试数据中的正负样本的分布也可能随着时间发生变化。下图是两个分类器模型(算法)的ROC曲线比较图:

2.2 P-R曲线

在P-R曲线中,Precision为横坐标,Recall为纵坐标。在ROC曲线中曲线越凸向左上角约好,在P-R曲线中,曲线越凸向右上角越好。P-R曲线判断模型的好坏要根据具体情况具体分析,有的项目要求召回率较高、有的项目要求精确率较高。P-R曲线的绘制跟ROC曲线的绘制是一样的,在不同的阈值下得到不同的Precision、Recall,得到一系列的点,将它们在P-R图中绘制出来,并依次连接起来就得到了P-R图。两个分类器模型(算法)P-R曲线比较的一个例子如下图所示:

2.3 ROC与P-R对比

从公式计算中可以看出,ROC曲线中真阳性率TPR的计算公式与P-R曲线中的召回率Recall计算公式是一样的,即二者是同一个东西在不同环境下的不同叫法。当正负样本差距不大的情况下,ROC曲线和P-R的趋势是差不多的,但是当负样本很多的时候,ROC曲线效果依然较好,但是P-R曲线效果一般。

时间: 2024-12-28 21:18:36

ROC,AUC,Precision,Recall,F1的介绍与计算(转)的相关文章

BERT模型在多类别文本分类时的precision, recall, f1值的计算

BERT预训练模型在诸多NLP任务中都取得最优的结果.在处理文本分类问题时,即可以直接用BERT模型作为文本分类的模型,也可以将BERT模型的最后层输出的结果作为word embedding导入到我们定制的文本分类模型中(如text-CNN等).总之现在只要你的计算资源能满足,一般问题都可以用BERT来处理,此次针对公司的一个实际项目--一个多类别(61类)的文本分类问题,其就取得了很好的结果. 我们此次的任务是一个数据分布极度不平衡的多类别文本分类(有的类别下只有几个或者十几个样本,有的类别下

Precision/Recall和ROC曲线与分类

[混淆矩阵与Precision/Recall和ROC曲线的关系] Precision/Recall和ROC曲线的基本介绍可以看我的另一篇博客: http://blog.csdn.net/adminabcd/article/details/46475361 接下来我们引入混淆矩阵: 当我们对样本进行分类时,会分成正例样本(记为1)和负例样本(记为0),根据分类结果与原始分类,可以计算出相应的混淆矩阵.那么则有: Precision(pre)=true positive rate=tp/(tp+fp

信息检索的评价指标(Precision, Recall, F-score, MAP)

之前写过一篇blog叫做机器学习实战笔记之非均衡分类问题:http://blog.csdn.net/lu597203933/article/details/38666699其中对Precision和Recall及ROC都有所讲解,其中区别在于Precision,Recall, F-score, MAP主要用于信息检索,而ROC曲线及其度量指标AUC主要用于分类和识别,ROC的详细介绍见上面的blog,这里的Precision.Recall和上篇blog的计算结果其实是一样的,只是这里从检索的角度

一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC

参考资料:https://zhuanlan.zhihu.com/p/46714763 ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到).其实,理解它并不是非常难,但是好多朋友都遇到了一个相同的问题,那就是:每次看书的时候都很明白,但回过头就忘了,经常容易将概念弄混.还有的朋友面试之前背下来了,但是一紧张大脑一片空白全忘了,导致回答的很差. 我在之前的面试过程中也遇到过类似的问题,我的面试经验是:一般笔试题遇到选择题基本都会考这个率,那个率,或者给一个场景让

通过Precision/Recall判断分类结果偏差极大时算法的性能

当我们对某些问题进行分类时,真实结果的分布会有明显偏差. 例如对是否患癌症进行分类,testing set 中可能只有0.5%的人患了癌症. 此时如果直接数误分类数的话,那么一个每次都预测人没有癌症的算法也是性能优异的. 此时,我们需要引入一对新的判别标准:Precision/Recall来进行算法的性能评判,它们的定义如下: 可以看出,Precision表示:预测一件事件发生,它实际发生的概率是多少.换言之:预测准的概率如何. Recall表示:一件事情实际发生了,能把它预测出来的概率是多少.

准确率,召回率,F值,ROC,AUC

度量表 1.准确率 (presion) p=TPTP+FP 理解为你预测对的正例数占你预测正例总量的比率,假设实际有90个正例,10个负例,你预测80(75+,5-)个正例,20(15+,5-)个负例 实际上你的准确率为75/80=0.9375,但这个评价指标有什么问题呢,想想就知道,这里你并没有用到实际的正例数,那么仅仅靠你猜中的正例作为分母,你并不知道实际的正例有多少,你看召回率为75/90=0.83,就是说你的猜测局限于预测范围 2.召回率 (recall)r=TPTP+FN 理解为你预测

目标检测的评价标准mAP, Precision, Recall, Accuracy

目录 metrics 评价方法 TP , FP , TN , FN 概念 计算流程 Accuracy , Precision ,Recall Average Precision PR曲线 AP计算 Average Precision mAP 参考资料 metrics 评价方法 注意,在多分类问题中,评价方法是逐个类计算的,不是所有类一起算,是只针对一个类算,每个类别有自己的指标值! TP , FP , TN , FN 概念 TP = 预测为positive 且ground-truth和预测一致

目标检测中的precision,recall,AP,mAP计算详解

交并比IoU衡量的是两个区域的重叠程度,是两个区域重叠部分面积占二者总面积(重叠部分只计算一次)的比例.如下图,两个矩形框的IoU是交叉面积(中间图片红色部分)与合并面积(右图红色部分)面积之比. Iou的定义 在目标检测任务中,如果我们模型输出的矩形框与我们人工标注的矩形框的IoU值大于某个阈值时(通常为0.5)即认为我们的模型输出了正确的 精准率与召回率(Precision & Recall) 大雁与飞机 假设现在有这样一个测试集,测试集中的图片只由大雁和飞机两种图片组成,如下图所示:  假

准确率和召回率(precision&recall)

在机器学习.推荐系统.信息检索.自然语言处理.多媒体视觉等领域,经常会用到准确率(precision).召回率(recall).F-measure.F1-score 来评价算法的准确性. 一.准确率和召回率(P&R) 以文本检索为例,先看下图 其中,黑框表示检索域,我们从中检索与目标文本相关性大的项.图中黄色部分(A+B)表示检索域中与目标文本先关性高的项,图中 A+C部分表示你的算法检索出的项.A.B.C的含义图中英文标出. 准确率: 召回率: 一般来说,准确率表示你的算法检索出来的有多少是正