我理解 F1-measure 是精度和召回率的调和平均值。但是什么值定义了 F1 度量的好坏?我似乎找不到任何参考资料(谷歌或学术)回答我的问题。
2 回答
考虑sklearn.dummy.DummyClassifier(strategy='uniform')
哪个是进行随机猜测的分类器(又名坏分类器)。我们可以将 DummyClassifier 视为要击败的基准,现在让我们看看它的 f1-score。
在二元分类问题中,具有平衡数据集:6198 个总样本,3099 个样本标记为0
,3099 个样本标记为1
,f1-score0.5
适用于两个类,加权平均值为0.5
:
第二个例子,使用DummyClassifier(strategy='constant')
,即每次都猜测相同的标签,1
在这种情况下每次都猜测标签,f1-scores 的平均值是0.33
,而标签的 f10
是0.00
:
考虑到平衡的数据集,我认为这些是糟糕的 f1 分数。
PS。使用生成的摘要sklearn.metrics.classification_report
您没有找到 f1 测量范围的任何参考,因为没有任何范围。F1 度量是精度和召回率的组合矩阵。
假设您有两种算法,一种具有更高的精度和更低的召回率。通过这种观察,您无法判断哪种算法更好,除非您的目标是最大化精度。
因此,考虑到如何在两种算法(一个具有更高的召回率和另一个具有更高的精度)中选择优等算法的模糊性,我们使用 f1-measure 在它们中选择优。
f1-measure 是一个相对术语,这就是为什么没有绝对范围来定义您的算法有多好的原因。