ROC、Precision、Recall和Accuracy

1.Precision&Recall

大多数情况下将样本分类为正例或反例的代价是不同的,当某个类别分类(正确)的重要性大于其他时,仅仅使用分类错误率来度量是不充分的,这样的度量错误掩盖了样例如何被错分的事实。
在这里插入图片描述
Precision(查准率):预测为正例的样本中真正正例的比例。 TP/(TP+FP)
Recall(召回率):真正为正例的样本有多少被预测出来。
TP/(TP+FN)

例如:
recall反应了你能不能最大程度上把目标全找到。比如警察用智能软件筛查一群嫌疑犯,那么,必须一个不剩的都被采集到,即便是有一些良民被智能软件认为是嫌疑犯也无所谓,嫌疑犯的recall必须是100%;在癌症检测中,我们希望选择Recall较高的模型(有病为正例)以期望尽可能多的病人能尽早发现病症。

precision反应了你的可信度,比如让家用机器人把降压药拿过来,他一定不能错,他可以不把家里全部的降压药都拿过来,但是他要保证拿过来必须是降压药。降压药的precision一定要是100%;在垃圾邮件过滤中,我们希望选择Precision较高的模型。

我们很容易构造一个高查准率或高召回率的分类器,但是很难保证两者同时成立。构建一个同时使两者很大的分类器是具有挑战性的。

示例:

在这里插入图片描述
P-R 曲线越靠近右上角性能越好。

F-Measure

Precision和Recall有时会出现矛盾的情况,为了综合考虑他们,我们常用的指标就是F-Measure,F值越高证明模型越有效。

F-Measure是Precision和Recall的加权调和平均。
在这里插入图片描述
F1=2×P×R/(P+R)

P、R和F1评价在信息检索中用的比较多,在机器学习中还有一种ROC曲线来评价性能。

最终是mAP?

2.ROC曲线

示例:

在这里插入图片描述

横坐标为FPR(False positive rate)
纵坐标为TPR(True postive rate)
FPR:所有负例中有多少被预测为正例; FP/(FP+TN)
TPR:有多少真正的正例被预测出来;TP/(TP+FN)

ROC 描绘了两者的相对权衡:
benefits(true postives)
costs(false positives)
在这里插入图片描述
接下来我们考虑ROC曲线中的四个点和一条线。
1.(0,0):fp=tp=0 ,即所有样本都被预测为负样本;
2.(1,1):fp=tp=1,所有样本都被预测为正样本;
3.(1,0):fp=1,tp=0,所有正例都被预测为负例,而所有正例都没被预测出来,这是最糟糕的分类器,因为它成功的避开了所有正确答案。
4.(0,1):fp=0,tp=1,这是一个完美的分类器,它将所有样本都正确分类。

所以经过上述分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好,意味着分类器在假阳率很低的同时获得了很高的真阳率。

5.虚线y=x:这条对角线熵的点其实代表的是一个采用随机猜测策略的分类器的结果。例如(0.5,0.5),表示对于一半的样本猜测其为正样本,另外一半样本为负样本。出现在右下角三角形中的任何分类器都比随机猜测更糟糕。因此,在ROC图中,此三角形通常为空。

3.AUC

AUC(Area Under Curve) 被定义为ROC曲线下的面积,因为ROC曲线一般都处于y=x这条直线的上方,所以取值范围在0.5和1之间,使用AUC作为评价指标是因为ROC曲线在很多时候并不能清晰地说明哪个分类器的效果更好,而AUC作为一个数值,其值越大代表分类器效果更好。

AUC意味着什么?

The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.

AUC是一个概率值,当随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的分数将这个正样本排在负样本前面的概率就是AUC值。所以,AUC的值越大,当前的分类算法越有可能将正样本排在负样本值前面,既能够更好的分类。

4.ROC曲线绘制

对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR的结果,那么是如何得到整个ROC曲线的呢?

要想得到ROC曲线,我们就需要一组FPR和TPR的值。我们先来看Wikipedia上面对ROC曲线的定义:

“In signal detection theory, a receiver oprating characteristic(ROC), or simply ROC curve, is a graphical plot which illustrates the performance of a binary classifier system as its discrimination threshold is varied.”

ROC曲线代表的是当“discriminative threshold“变化时分类器的性能。

它代表的是分类器以多大的置信度将样本分类为正样本。分类器的一个重要功能”概率输出“,即表示分类器认为某个样本具有多大的概率属于正样本(或负样本)。通过深入地了解各个分类器的内部机理,我们总能想办法得到一种概率输出。通常来说,是将一个实数范围通过某个变化映射到(0,1)区间。

假设我们已经得到了所有样本的概率输出(即属于正样本的概率),那么我们就可以通过改变”discrimination threshold“来绘制ROC曲线。

(许多分类器,例如决策树或者规则集合,被设计产生一个类别决策,即将每个样本预测为Y或N。当使用这样的离散分类器时,产生一个单个confusion矩阵,对应于一个ROC点。而一些分类器,例如Naive Bayes,产生一个样本概率值,这样一个ranking/scoring分类器可以使用一个threshold来产生一个discrete(binary)分类器:如果分类器输出的概率大于threshold,分类器产生Y,否则产生N。每个不同的threshold值在ROC空间产生一个不同的点(对应于一个不同的confusion matrix)。)

具体过程如下所述:

1.如图,我们根据每个测试样本属于正样本的概率值score从大到小排序。(图中class一栏代表每个测试样本的真正标签(p代表正样本,n代表负样本))

2.接着,我们从高到低,依次将score作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。

例如:对于第四个样本,其score值为0.6,那么score值大于等于0.6的样本1,2,3,4都被认为是正样本,而其他样本则被认为是负样本。

3.每次选取不同的score作为threshold,我们就可以得到一组FPR和TPR,即曲线上的一点。将这些(FPR,TPR)对连接起来,就可以得到完整的ROC曲线如下图。(当threshold取值越多,ROC曲线就越平滑)。

当我们将threshold设置为1和0时,即分别对应将所有样本划分为负样本和将所有样本划分为正样本,就可以的得到曲线上的(0,0)和(1,1)两点。

关于score值:分类器都会提供每个样例被判为阳性或者阴性的可信程度值,大多数分类器都能够做到这一点,但是在通常情况下,这些值会在最后输出离散分类标签之前被清除。例如,朴素贝叶斯能够提供一个可能值,在Logistic回归中输入到sigmoid函数中的是一个数值。在Adaboost和SVM中,都会计算一个数值然后输入到sign()函数中,所有的这些值都可以看做score,用于衡量给定分类器的预测强度。

5.ROC和PR的比较

PR曲线和ROC曲线都能评价分类器的性能。
如果分类器a的PR曲线或ROC曲线包围了分类器b对应的曲线,那么分类器a的性能好于分类器b的性能。

相同点:
首先从定义上PR曲线的R值是等于ROC曲线中的TPR值。
都是用来评价分类器的性能的。

不同点:
ROC曲线是单调的而PR曲线不是(根据它能更方便调参)
正负样本的分布失衡的时候,ROC曲线保持不变,而PR曲线会产生很大的变化。
在这里插入图片描述
(a)(b)分别是正反例相等的时候的ROC曲线和PR曲线
(c)(d)分别是十倍反例一倍正例的ROC曲线和PR曲线
可以看出,在正负失衡的情况下,从ROC曲线看分类器的表现仍然较好(图c),然而从PR曲线来看,分类器就表现的很差。
事实情况是分类器确实表现的不好(分析过程见知乎 qian lv 的回答),是ROC曲线欺骗了我们。

6.Accuracy

准确率是我们最常用的评价指标,就是所有实例中被预测正确的比例,但是当数据存在不平衡时,准确率不能很全面地评价模型表现的好坏。
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值