如何在ROC AUC和F1分数之间进行选择?


26

我最近完成了一场Kaggle比赛,根据比赛要求使用了roc auc得分。在进行此项目之前,我通常使用f1分数作为衡量模型性能的指标。展望未来,我想知道如何在这两个指标之间进行选择?什么时候使用,它们各自的优缺点是什么?

顺便说一句,我在这里阅读了这篇文章AUC和F1评分之间有什么区别?,但没有告诉我何时使用。

在此先感谢您的帮助!

Answers:


14

此处列出的度量均不是正确的准确性评分规则,即由正确模型优化的规则。考虑Brier得分和基于对数似然性的度量,例如伪。所述 -index(AUROC;一致概率)是不正确的,但是是用于描述一个单一的模型良好。它不够敏感,无法用于选择模型或仅比较两个模型。 cR2c


谢谢您的答复弗兰克!我需要进一步澄清。如果我们只能从ROC AUC和F1分数中进行选择,您会选择哪一个?为什么?两者的优缺点是什么?
乔治·刘

2
如果仅允许您从 -index和F1中进行选择,则您的争论不够强烈。黄金标准是对数似然,罚对数似然或贝叶斯等效项(例如DIC)。接下来是Brier得分。c
弗兰克·哈雷尔

2
参见citeulike.org/user/harrelfe/article/14321176;我已经用自己的模拟展示了这一点。如果不平衡不是由于过采样/欠采样引起的,则可以使用任何适当的评分规则,而不考虑不平衡。
弗兰克·哈雷尔

1
@FrankHarrell:链接已死,可以重新检查吗?
SiXUlm

13

计算公式:

  • 精密TP /(TP + FP)
  • 召回:TP /(TP + FN)
  • F1-分数:2 /(1 / P + 1 / R)
  • ROC / AUC:TPR = TP /(TP + FN),FPR = FP /(FP + TN)

ROC / AUC是相同的标准,PR(精确调用)曲线(F1分数,Precision,Recall)也是相同的标准。

真实数据倾向于在正样本和负样本之间产生不平衡。这种不平衡对PR的影响很大,但对ROC / AUC的影响不大。

因此,在现实世界中,由于正负样本非常不均匀,因此更多地使用了PR曲线。ROC / AUC曲线不能反映分类器的性能,但是PR曲线可以。

如果只是在研究论文中进行实验,则可以使用ROC,实验结果将更加美观。另一方面,PR曲线可用于实际问题,并且具有更好的解释性。


7

以上答案都是好的。

但是我要指出的一点是AUC(ROC下的区域)存在问题,尤其是数据不平衡(所谓的高度偏斜:很大)。这种情况在动作检测,欺诈检测,破产预测等方面非常普遍。也就是说,您关心的正面示例的发生率相对较低。Skew=negativeexamplespositiveexamples

在数据不平衡的情况下,AUC仍可为您提供约0.8的虚假价值。但是,由于FP较大而不是TP较大(真正),所以它较高。

如下面的例子,

TP=155,   FN=182
FP=84049, TN=34088

因此,当您使用AUC衡量分类器的性能时,问题在于AUC的增加并不能真正反映出更好的分类器。这只是太多负面例子的副作用。您可以简单地尝试数据集。

面对使用性能指标的不平衡数据建议的论文发现:“尽管ROC不受偏斜影响,但精确召回曲线表明ROC在某些情况下可能掩盖了较差的性能。” 寻找良好的性能指标仍然是一个悬而未决的问题。一般的F1分数可能有助于

Fβ=(1+β2)precisionrecall(β2precision)+recall

其中是精度比较召回的相对重要性。β

然后,我对数据不平衡的建议与这篇文章相似。您也可以尝试使用十进制表,可以通过搜索“二乘二分类和十进制表”来构建。同时,我也在研究此问题并将给出更好的措施。


如果您关心某个方法的性能,最好使用ROC来显示其分类性能。但是,如果您更关心真实阳性的实际预测,则F1分数在行业中是受欢迎的。
朱小瑞

2
在真实的业务环境中,可以估计误报的成本和误报的成本。然后,最终分类应基于概率模型,并选择分类阈值以最大程度地减少错误分类的成本。我真的不认为准确性或F分数对训练有素的数据科学家有很多实际应用。
马修·德鲁里

是的,我同意决策方法的程序,该程序可将错误分类的截止概率和模型的成本降至最低。在某些情况下,不对称成本可以应用于FP和FN。但是准确性和F分数的重点是检查模型的整体性能或比较多个模型之间的性能。确实,有了作为数据科学家的手头的数据,始终可以实现成本最小化。但是我很好奇数据科学家在实际中需要决策问题的解决方案的分布(或变化)。我想知道是否可以与我分享一些东西。Thx
Zhu

1
就个人而言,我将始终根据模型预测的条件概率来评估模型的拟合优度。因此,我将始终使用适当的评分规则(例如对数损失)来比较模型,使用自举来确保改进不是噪音,并可能添加AUC。
马修·德鲁里

2
我认为那不是真的。AUC是专门为对类不平衡不敏感而构建的,我对此进行了广泛的模拟,并发现这是真的。同样,在比较模型时,它们应该建立在从相同人群中采样的数据集的基础上,从而使类不平衡问题零零散散。
马修·德鲁里

4

要在数据不平衡时用非常简单的话说,即,正类和负类的示例数量之差很大,您应该始终使用F1评分。否则,您可以使用ROC / AUC曲线。


您对“数据不平衡”的定义是,您几乎总是使用F1分数,因此并没有太大帮助。也许您可以对此进行一点扩展?
jbowman

我在那里错过了一个非常重要的词...道歉。编辑了我的回复。让我知道是否需要进一步说明。
balboa


1

如果分类的目标是通过概率评分,则最好使用在所有可能阈值上取平均值的AUC。但是,如果分类的目的只是需要在两个可能的类别之间进行分类,并且不需要模型预测每个类别的可能性,那么使用特定阈值依赖于F得分更为合适。

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.