对于不平衡数据,ROC曲线下的面积还是PR曲线下的面积?


16

我对使用哪种性能指标,ROC曲线下的面积(TPR与FPR的函数)或精确召回曲线下的面积(精度与召回的函数)之间的使用存在疑问。

我的数据不平衡,即,否定实例的数量比肯定实例大得多。

我正在使用weka的输出预测,示例是:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

我正在使用pROC和ROCR r库。


您忘了提及要使用任何一条曲线实现的目标。
马克·克莱森

1
注意:似乎您想在ROC曲线(TPR与整个工作范围内FPR的函数)和PR曲线(在整个工作范围内精度与召回率)之间进行选择。诸如“ 精确度和召回率的AUC-ROC ”之类的术语非常容易引起误解,因此我对此进行了编辑。如果我误会了,请还原它。
马克·克莱森

Answers:


27

这个问题很模糊,因此我假设您想选择一个适当的性能指标来比较不同的模型。要全面了解ROC和PR曲线之间的关键差异,可以参考以下文章:Davis和Goadrich的Precision-Recall和ROC曲线之间的关系

引用戴维斯和戈德里奇的话:

但是,在处理高度偏斜的数据集时,Precision-Recall(PR)曲线可提供有关算法性能的更多信息。

FP[R=FPFP+ŤñŤP[R=ŤPŤP+Fñ
[RËC一种=ŤPŤP+Fñ=ŤP[Rp[RËC一世s一世Øñ=ŤPŤP+FP

FP

对于高度不平衡的数据集,精确调用曲线更好地突出了模型之间的差异。如果要在不平衡设置下比较不同的模型,则PR曲线下的面积可能会比ROC曲线下的面积具有更大的差异。

也就是说,ROC曲线更为常见(即使它们不太适合)。根据您的受众,ROC曲线可能是通用语言,因此使用它们可能是更安全的选择。如果一个模型在PR空间中完全控制了另一个模型(例如,在整个召回范围内始终具有较高的精度),那么它在ROC空间中也将占主导地位。如果曲线在两个空间中相交,它们也将在另一个空间中相交。换句话说,无论使用哪种曲线,主要结论都是相似的。


无耻的广告。再举一个例子,您可以看看我的一篇论文,其中我报告了不平衡设置下的ROC和PR曲线。图3包含相同模型的ROC和PR曲线,清楚地显示了两者之间的差异。到PR下比较区域与区域ROC下你可以比较表1-2(AUPR)和表3-4(AUROC),在这里你可以看到AUPR显示更大的个别车型比AUROC之间的差异。这再次强调了PR曲线的适用性。


感谢您的解释。现在的问题是,为什么PR曲线对于不平衡的数据更具参考价值?对我来说,中华民国应该提供更多信息,因为它同时考虑了TPR和FPR。
MM


1
@MA编辑了我的答案以进行澄清。
马克·克莱森

1
我认为TPR和FPR之间的召回方程存在混淆,不是吗?
西蒙·索达尔

没错,应该是:召回= ... = TPR,而不是FPR。@Marc Claesen,我认为只有您可以更改此设置,因为当我尝试执行此操作时,系统会通知我:“编辑内容应至少包含6个字符”,因此无法纠正这种小错别字。
ponadto

6

ROC曲线在y轴上绘制TPR,在x轴上绘制FPR,但这取决于您要描绘的内容。除非出于某些原因需要在您的研究领域中以不同的方式绘制它,否则TPR / FPR ROC曲线是显示操作折衷的标准,我相信它们会受到广泛欢迎。

精确度和召回率本身可能会产生误导,因为它不能解决真正的负面问题。


0

我认为ROC和PR AUC的最大区别在于,ROC决定了您的模型可以“计算”阳性类别和阴性类别的程度,而PR AUC实际上只是在看您的阳性类别。因此,在平衡的课堂情况下,并且您同时关注消极和积极的课堂,ROC AUC指标非常有用。当您遇到不平衡的情况时,最好使用PR AUC,但是请记住,这仅是确定模型可以“计算”正类的水平!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.