PRC 和ROC


一、指标定义

准确率:策略命中的所有相关订单/策略命中的所有订单 召回率:策略命中的所有相关订单/所有的相关订单(包括策略未被命中的) F1-score(F1-分数):2×准确率×召回率/(准确率+召回率),是模型准确率召回率的一种加权平均,它的最大值是1,最小值是0。(详细介绍见下) ROC:ROC曲线的横坐标为false positive rate(FPR,假正率),纵坐标为true positive rate(TPR,真正率,召回率) AUC:被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。

二、 召回率和准确率示意图

1.recall 假定:从一个大规模数据集合中检索文档的时,可把文档分成四组:

  • 系统检索到的相关文档(A)(TP)
  • 系统检索到的不相关文档(B)(FP)
  • 相关但是系统没有检索到的文档(C)(FN)
  • 不相关且没有被系统检索到的文档(D)(TN) 则:
  • 召回率R:用检索到相关文档数作为分子,所有相关文档总数作为分母,即R = A / ( A + C )
  • 准确率P:用检索到相关文档数作为分子,所有检索到的文档总数作为分母.即P = A / ( A + B ).

2.举例来说: 一个数据库有500个文档,其中有50个文档符合定义的问题。系统检索到75个文档,但是只有45个符合定义的问题。 召回率R=45/50=90% 精度P=45/75=60% 本例中,系统检索是比较有效的,召回率为90%。但是结果有很大的噪音,有近一半的检索结果是不相关。研究表明:在不牺牲精度的情况下,获得一个高召回率是很困难的

三、ROC曲线和AUC

正如我们在这个ROC曲线的示例图中看到的那样,ROC曲线的横坐标为false positive rate(FPR),纵坐标为true positive rate(TPR)。 接下来我们考虑ROC曲线图中的四个点和一条线。第一个点,(0,1),即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。Wow,这是一个完美的分类器,它将所有的样本都正确分类。第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。

下面考虑ROC曲线图中的虚线y=x上的点。这条对角线上的点其实表示的是一个采用随机猜测策略的分类器的结果,例如(0.5,0.5),表示该分类器随机对于一半的样本猜测其为正样本,另外一半的样本为负样本。

如何画ROC曲线

对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值,这又是如何得到的呢?我们先来看一下Wikipedia上对ROC曲线的定义:

In signal detection theory, a receiver operating 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.

问题在于“as its discrimination threashold is varied”。如何理解这里的“discrimination threashold”呢?我们忽略了分类器的一个重要功能“概率输出”,即表示分类器认为某个样本具有多大的概率属于正样本(或负样本)。通过更深入地了解各个分类器的内部机理,我们总能想办法得到一种概率输出。通常来说,是将一个实数范围通过某个变换映射到(0,1)区间3

假如我们已经得到了所有样本的概率输出(属于正样本的概率),现在的问题是如何改变“discrimination threashold”?我们根据每个测试样本属于正样本的概率值从大到小排序。下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率4

接下来,我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:

当我们将threshold设置为1和0时,分别可以得到ROC曲线上的(0,0)和(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。

其实,我们并不一定要得到每个测试样本是正样本的概率值,只要得到这个分类器对该测试样本的“评分值”即可(评分值并不一定在(0,1)区间)。评分越高,表示分类器越肯定地认为这个测试样本是正样本,而且同时使用各个评分值作为threshold。我认为将评分值转化为概率更易于理解一些。

相关名词

TP —— True Positive (真正, TP)被模型预测为正的正样本;可以称作判断为真的正确率 TN —— True Negative(真负 , TN)被模型预测为负的负样本 ;可以称作判断为假的正确率 FP ——False Positive (假正, FP)被模型预测为正的负样本;可以称作误报率 FN—— False Negative(假负 , FN)被模型预测为负的正样本;可以称作漏报率 True Positive Rate(真正率 , TPR)或灵敏度(sensitivity)    TPR = TP /(TP + FN)   正样本预测结果数 / 正样本实际数 True Negative Rate(真负率 , TNR)或特指度(specificity)    TNR = TN /(TN + FP)   负样本预测结果数 / 负样本实际数 False Positive Rate (假正率, FPR)   FPR = FP /(FP + TN)   被预测为正的负样本结果数 /负样本实际数 False Negative Rate(假负率 , FNR)   FNR = FN /(TP + FN)   被预测为负的正样本结果数 / 正样本实际数

附:

对于一个策略为很么会有ROC曲线

一个相关订单并不一定,一定会被策略命中,只是一个概率值,不过通常相比一个不想关订单被命中的概率越大。 因此一批样本被输入进策略中,返回的TPR和FPR并不固定。 针对这个问题,我们将一批样本中的每个样本输入策略中,策略命中这个样本的概率座位一个score分值。这样每一个样本就对应一个SCORE值。

AUC代表什么意思

这句话有些绕,我尝试解释一下:首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。 score值的阈值代表了对这个策略的认可度。只有当这个策略认为某样本在90%以上的概率是真时,我们才认为这个样本是真。

F1-score(F1-分数)详细介绍

1. 的物理意义就是将准确率和召回率这两个分值合并为一个分值,在合并的过程中,召回率的权重是准确率的 倍[1] 。 分数认为召回率和准确率同等重要, 分数认为召回率的重要程度是准确率的2倍,而 分数认为召回率的重要程度是准确率的一半。 2.G分数 G分数是另一种统一准确率召回率的系统性能评估标准。 F分数是准确率和召回率的调和平均数,G分数被定义为准确率和召回率的几何平均数

为什么使用ROC曲线

既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。下图是ROC曲线和Precision-Recall曲线5的对比:

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

<img src="https://i-blog.csdnimg.cn/blog_migrate/697011230e2de0d90e11237d09ef259c.jpeg" data-rawwidth="1239" data-rawheight="1752" class="origin_image zh-lightbox-thumb" width="1239" data-original="https://pic3.zhimg.com/v2-d635b24525060f111b7d9061f98526c2_r.jpg">
<img src="https://i-blog.csdnimg.cn/blog_migrate/83b18ecec78f6ac672312a0e55e93349.jpeg" data-rawwidth="1239" data-rawheight="1752" class="origin_image zh-lightbox-thumb" width="1239" data-original="https://pic1.zhimg.com/v2-4f7bc9cdb6afd50f3de7cc881a3ff900_r.jpg">
<img src="https://i-blog.csdnimg.cn/blog_migrate/884073325437ef080ddb96bcfeaef020.jpeg" data-rawwidth="1239" data-rawheight="1752" class="origin_image zh-lightbox-thumb" width="1239" data-original="https://pic4.zhimg.com/v2-3ecc5570c74aa1f11396f49d24dc0e27_r.jpg">
<img src="https://i-blog.csdnimg.cn/blog_migrate/4fdf74d91cef0f5faaee85ec40406e6f.jpeg" data-rawwidth="1239" data-rawheight="1752" class="origin_image zh-lightbox-thumb" width="1239" data-original="https://pic2.zhimg.com/v2-54c89540842f8990e67931e05272044d_r.jpg">
<img src="https://i-blog.csdnimg.cn/blog_migrate/c914cdb1fbc1b55a02bdc41c55d276aa.jpeg" data-rawwidth="1239" data-rawheight="1752" class="origin_image zh-lightbox-thumb" width="1239" data-original="https://pic1.zhimg.com/v2-45405556a7a91e79556110383ec36448_r.jpg">
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值