ROC曲线与PR曲线的关系

ROC曲线与PR曲线的关系

简介

ROC曲线

在正负样本不平衡时,Acurracy常常不能很好地反映模型的真实分类能力,而此时ROC曲线的AUC经常被来评价模型的效果。因为ROC曲线关注的是TPR(y轴;有多少比例的正样本被识别出来)和FPR(x轴;有多少比例的负样本被错误识别成正样本),因此正负样本的相对大小不会影响这两个指标。相当于把TP用正样本总数归一化,把FP用负样本总数归一化,再看阈值对这两个‘归一化’以后的指标的影响。

Percision-Recall Curves

PR曲线的全称是Percision-Recall Curves,它的x轴代表Recall(即TPR;有多少比例的正样本被识别出来),y轴是Percision(识别为正的样本中,有多少比例是正确的)。与ROC曲线十分类似,也适用于评价样本偏斜情况下,模型的效果。但与ROC曲线的‘归一化’思路不同,PR曲线用另外一种方法来缓解数据偏斜问题。由定义可知,PR曲线只关心与正类有关的参数(TP, FN, FP)。因此,即使正负类样本的数目相差较大,由于不包含TN,也不会对最后的曲线结果带来很大的影响。

相通点

解决数据偏斜问题

ROC: ‘归一化’
PR: 不考虑TN,只关心模型在正类上的效果

计算方式

如果数据集确定,对于同一个模型而言,ROC曲线和PR曲线上的点存在一一对应的关系。即,这一对点是由同一个confusion matrix计算而来。

不同点

使用的数据

ROC: TP, FN, FP, TN
PR: TP, FN, FP(仅使用confusion matrix中的三个值,无关TN)

模型效果

模型在ROC曲线上的AUC很高,排在其他模型前面,代表它有很大几率能从负样本中正确辨别出正样本。但是这并不代表它在PR曲线上的AUC一定很高,排在其他模型前面,特别是数据极度偏斜时。
当数据极度偏斜,负样本总数目很大,ROC曲线的x轴(FPR)对于数目较小的负类误判不敏感,即使FP增加,因为总的负类数目很大,FPR不会有较大波动,TPR当然也不会受到影响。
但是对于PR曲线而言,Percision的分母包含FP,当数据极度偏斜时,正样本数目很小,哪怕较小数目的负类误判(即FP增加),也会对PR曲线的y值产生很大影响,从而使得PR曲线的AUC很低。下图为一个例子:
Jesse Davis and Mark Goadrich. 2006

总结

ROC曲线和PR曲线都能用于评价分类器的效果,并且还可以缓解数据偏斜带来的模型评价不准确的问题。但是由于两者的计算方式(or 重点 or 思路)不同,运用场景也会有所区别。
ROC:分别用正类总数目与负类总数目去‘归一化’TP和FP,当数据集的分布改变时,ROC曲线不会跟着剧烈改变,比较稳定,着重于考察模型的排序能力,能用于评估分类器的整体性能。
PR:当我关心模型在特定数据分布上的预测效果,并且只关心precision 和 recall时,PR可以更精确地选出此场景下需要的模型。

参考文献

[1]Jesse Davis and Mark Goadrich. 2006. The relationship between Precision-Recall and ROC curves.