什么是F1最佳阈值?如何计算呢?


13

我在R中使用了h2o.glm()函数,该函数在结果以及其他统计信息中提供了列联表。列联表的标题为“ 基于F1最佳阈值的交叉表

Wikipedia将F1分数或F分数定义为精确度和查全率的调和平均值。但是,仅当将逻辑回归的预测值(例如)使用截止值转换为二进制时,才能找到Precision和Recall。

现在我想起了截止点,F1得分和最佳阈值之间有什么联系。最佳阈值如何计算?F1最佳阈值如何计算?

抱歉,如果我错过了什么,我是这里的新手。

Answers:


22

实际上,我在机器学习方面写了我的第一篇论文。在其中,我们确定了当您的分类器输出校准的概率(逻辑回归时应该使用它们)时,最佳阈值约为其达到的F1分数的1/2。这给您一些直觉。最佳阈值永远不会超过0.5。如果您的F1为.5并且阈值是.5,那么您应该期望通过降低阈值来提高F1。另一方面,如果F1为.5并且阈值为.1,则可能应该增加阈值以改善F1。

可以在以下位置找到包含所有细节的文章,以及关于为什么F1可能是或不是最佳优化手段的讨论(在单标签和多标签情况下):

https://arxiv.org/abs/1402.1892

抱歉,此帖子花了9个月才引起我的注意。希望您仍然找到有用的信息!


1
F1可以大于1吗?如果您有90%的A和10%的〜A,我认为您希望阈值> .5。
gung-恢复莫妮卡

1
嗨@gung 不,根据定义F1 = 2 * p * r /(p + r),并且像所有F-beta度量一样,范围为[0,1]。班级不平衡不会改变F1分数的范围。对于某些应用程序,您可能确实希望预测的阈值高于0.5。具体来说,只要您认为误报比误报更严重,就会发生这种情况。但是这样的阈值并不能优化F1分数。为了理解原因,F1分数是在信息检索的背景下开发的。在这些情况下,阳性类别很少见,假阳性通常不如假阴性贵。
Zachary Chase Lipton

@ZacharyChaseLipton假设我有一个数据集,分为训练/验证/测试。对于输出概率的分类器,我将通过检查产生最佳F1的阈值,在验证集上选择最佳F1阈值。这似乎是合理的,因为选择阈值似乎类似于选择最佳模型。那是正确的事吗?
pir

此外,假设我有一个不输出概率的分类器(如SVM)。那么您将如何在验证集上优化F1?
pir

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.