ROC曲线和PR曲线的区别及相应的应用场景

ROC曲线和PR曲线都是用来衡量分类器分类性能的好坏的标准

ROC曲线和PR曲线的区别

ROC曲线

关于ROC曲线的具体含义详见我之前的博文:ROC曲线的含义以及画法
ROC曲线所在的二维坐标轴空间的横轴为FPR,纵轴为TPR;
其中
ROC曲线和PR曲线的区别及相应的应用场景_第1张图片
ROC曲线如下图所示
ROC曲线和PR曲线的区别及相应的应用场景_第2张图片
相对来说,ROC曲线越靠近左上角表示分类器的效果越好

PR曲线

要评价信息检索系统的性能水平,就必须在一个检索系统中进行多次检索。每进行一次检索(每改变一次阈值后重新对样本进行分类),都计算其查准率和查全率,并以此作为坐标值,在平面坐标图上标示出来。通过大量的检索,就可以得到检索系统的性能曲线。
PR曲线中的P代表的是Precision(精准率),R代表的是Recall(召回率),其代表的是精准率与召回率的关系,一般情况下,Precision设置为纵坐标,将Recall设置为横坐标。
其中Precison和Recall的计算方法如下
ROC曲线和PR曲线的区别及相应的应用场景_第3张图片
通过观察我们可以知道ROC曲线中的TPR=PR曲线中的Recall
如图为PR曲线
ROC曲线和PR曲线的区别及相应的应用场景_第4张图片
相对来说,PR曲线越靠近右上角效果越好
由图可知:在查全率和查准率之间存在着相反的相互依赖关系–如果提高输出的查全率,就会降低其查准率。

ROC曲线和PR曲线的应用场景

ROC曲线的应用场景

ROC曲线主要应用于测试集中的样本分布的较为均匀的情况,且当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。这也是ROC曲线一个很好的特性。
但ROC曲线在出现类不平衡现象的数据集中时,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。ROC曲线是不敏感的,其曲线能够基本保持不变。ROC的面对不平衡数据的一致性表明其能够衡量一个模型本身的预测能力,而这个预测能力是与样本正负比例无关的。但是这个不敏感的特性使得其较难以看出一个模型在面临样本比例变化时模型的预测情况。此时ROC曲线最大的优点在面对不平衡数据集时便成为了它最大的一个缺点。

PR曲线的应用场景

PRC因为对样本比例敏感,因此能够看出分类器随着样本比例变化的效果,而实际中的数据又是不平衡的,这样有助于了解分类器实际的效果和作用,也能够以此进行模型的改进。
在面对出现类不平衡现象数据集时,可以根据PRC表现出来的结果衡量一个分类器面对不平衡数据进行分类时的能力,从而进行模型的改进和优化。

PR曲线的相对优势

(1)
ROC曲线和PR曲线的区别及相应的应用场景_第5张图片
在上图中,(a)和©为ROC曲线,(b)和(d)为Precision-Recall曲线。(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,©和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。
这就说明PR曲线在正负样本比例悬殊较大时更能反映分类的性能。
(2)
ROC曲线和PR曲线的区别及相应的应用场景_第6张图片

单从图a看,这两个分类器都接近完美(非常接近左上角)。图b对应着相同分类器的PR space。而从图b可以看出,这两个分类器仍有巨大的提升空间。那么原因是什么呢? 通过看Algorithm1的点 A,可以得出一些结论。首先图a和b中的点A是相同的点,只是在不同的空间里。因为TPR=Recall=TP/(TP+FN),换言之,真阳性率(TPR)和召回率(Recall)是同一个东西,只是有不同的名字。所以图a中TPR为0.8的点对应着图b中Recall为0.8的点。
假设数据集有100个positive instances。由图a中的点A,可以得到以下结论:TPR=TP/(TP+FN)=TP/actual positives=TP/100=0.8,所以TP=80由图b中的点A,可得:Precision=TP/(TP+FP)=80/(80+FP)=0.05,所以FP=1520再由图a中点A,可得:FPR=FP/(FP+TN)=FP/actual negatives=1520/actual negatives=0.1,所以actual negatives是15200。
由此,可以得出原数据集中只有100个positive instances,却有15200个negative instances!这就是极不均匀的数据集。直观地说,在点A处,分类器将1600 (1520+80)个instance分为positive,而其中实际上只有80个是真正的positive。 我们凭直觉来看,其实这个分类器并不好。但由于真正negative instances的数量远远大约positive,ROC的结果却“看上去很美”。所以在这种情况下,PRC更能体现本质。
结论: 在negative instances的数量远远大于positive instances的data set里, PRC更能有效衡量分类器的好坏。

每一个PR曲线都有一个ROC曲线与之唯一对应,PR曲线看成无数个点,每个点都代表了不同阈值下的一个分类器,其横纵坐标表征了这个分类器的性能。

参考博文:
https://blog.csdn.net/weixin_31866177/article/details/88776718
https://www.jianshu.com/p/ac46cb7e6f87
https://www.jianshu.com/p/8abf429bf587
https://blog.csdn.net/IT_flying625/article/details/103246932

你可能感兴趣的:(机器学习算法评价指标,机器学习)