30

我理解 F1-measure 是精度和召回率的调和平均值。但是什么值定义了 F1 度量的好坏?我似乎找不到任何参考资料(谷歌或学术)回答我的问题。

4

2 回答 2

25

考虑sklearn.dummy.DummyClassifier(strategy='uniform')哪个是进行随机猜测的分类器(又名坏分类器)。我们可以将 DummyClassifier 视为要击败的基准,现在让我们看看它的 f1-score。

在二元分类问题中,具有平衡数据集:6198 个总样本,3099 个样本标记为0,3099 个样本标记为1,f1-score0.5适用于两个类,加权平均值为0.5

strategy_uniform

第二个例子,使用DummyClassifier(strategy='constant'),即每次都猜测相同的标签,1在这种情况下每次都猜测标签,f1-scores 的平均值是0.33,而标签的 f100.00

strategy_constant

考虑到平衡的数据集,我认为这些是糟糕的 f1 分数。

PS。使用生成的摘要sklearn.metrics.classification_report

于 2018-05-08T06:07:49.940 回答
5

您没有找到 f1 测量范围的任何参考,因为没有任何范围。F1 度量是精度和召回率的组合矩阵。

假设您有两种算法,一种具有更高的精度和更低的召回率。通过这种观察,您无法判断哪种算法更好,除非您的目标是最大化精度。

因此,考虑到如何在两种算法(一个具有更高的召回率和另一个具有更高的精度)中选择优等算法的模糊性,我们使用 f1-measure 在它们中选择优。

f1-measure 是一个相对术语,这就是为什么没有绝对范围来定义您的算法有多好的原因。

于 2016-04-19T18:46:40.670 回答