不平衡数据集上的ROC与精确召回曲线


17

我刚刚阅读完讨论。他们认为,在不平衡数据集上,PR AUC比ROC AUC更好。

例如,我们在测试数据集中有10个样本。9个样本为阳性,1个样本为阴性。我们有一个糟糕的模型,它预测一切都是积极的。因此,我们将得到一个度量,TP = 9,FP = 1,TN = 0,FN = 0。

然后,Precision = 0.9,Recall = 1.0。精度和召回率都很高,但是分类器很差。

另一方面,TPR = TP /(TP + FN)= 1.0,FPR = FP /(FP + TN)= 1.0。由于FPR很高,我们可以确定这不是一个很好的分类器。

显然,在不平衡数据集上,ROC优于PR。有人可以解释为什么PR更好吗?


1
Precision和Recall都忽略False Negative。使用PR权衡(曲线或F分数)的通常理由是,相对于TP和FP,否定词和假否定词的数量很大。因此,TNR-> 1和FPR-> 0(总和为|| Negs |分母为1)。因此,在这种情况下,PR确实反映(放大或放大)了TP与FP之间的权衡,但这没有意义,有意义的是Youden J指数的增加(信息量= TPR-FPR = TPR + TNR-1) = Sensitivity + Specificity-1)(灵敏度+特异度-1)对应于三角形单个工作点曲线与ROC机会线之间面积的两倍。
David MW Powers

2
@DavidMWPowers,为什么不将其转换为正式答案?这似乎是对我的一个非常有益的回应。
gung-恢复莫妮卡

2
精度,召回率,敏感性和特异性是不正确的,不连续的,信息丢失的准确性得分,因此不应使用。在不平衡的情况下,它们可能尤其成问题。该 -index(一致性概率; AUROC)下的极端平衡工作正常。更好:使用与对数似然或Brier分数相关的正确准确性评分规则。C
弗兰克·哈雷尔

Answers:


8

首先,关于Kaggle帖子的主张是虚假的。他们引用的论文“ 精确召回率与ROC曲线之间的关系 ”从未宣称PR AUC 比ROC AUC 更好。他们只是比较其属性,而不判断其价值。

在某些非常不平衡的应用中,ROC曲线有时可能会产生误导。ROC曲线看起来仍然不错(即优于随机曲线),同时对大多数或全部少数派类别进行了错误分类。

相比之下,PR曲线是专门为检测稀有事件而定制的,在这些情况下非常有用。他们将显示您的分类器如果对大多数或所有少数类进行了错误分类,则性能较低。但是,它们不能很好地转化为更平衡的情况,或者否定情况很少发生的情况。

此外,由于它们对阳性事件的基线概率很敏感,因此不能很好地推广,仅适用于其建立的特定数据集或具有完全相同余额的数据集。这意味着通常很难比较不同研究的PR曲线,从而限制了其实用性。

与往常一样,重要的是要了解可用的工具并为正确的应用程序选择正确的工具。我建议 在CV上阅读ROC与精度和召回曲线的问题。


3

您的示例绝对正确。

但是,我认为在Kaggle竞争/现实生活应用程序的背景下,偏斜的数据集通常意味着正样本比负样本少得多的数据集。仅在这种情况下,PR AUC比ROC AUC更“有意义”。

考虑一个TP = 9,FN = 1,TN = 900,FP = 90的检测器,其中有10个正样本和990个负样本。TPR = 0.9,FPR = 0.1表示ROC得分高,而Precision = 0.1则表示PR得分低。


0

你在那儿。

通常当我做不平衡模型,甚至是平衡模型时,我都会查看所有课程的PR。

在您的示例中,是的,您的肯定类具有P = 0.9和R = 1.0。但是您应该看的是所有课程。因此,对于您的否定班级,您的P = 0和R =0。通常,您不仅会单独查看PR分数。您想查看F1得分(F1宏或F1微型,具体取决于您的问题),它是1类和0类的PR分数的谐波平均值。您的1类PR分数非常好,但将其与您的0级PR分数,您的F1分数将是糟糕的,这是您得出的正确结论。

TL,DR:查看您所有课程的PR分数,并将其与F1评分等指标结合起来,以得出关于模型性能的现实结论。您的方案的F1分数很糟糕,这是您方案的正确结论。

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.