负 class 时的 F 分数很少见

F score when negative class is rare

我有一个数据集,其中 20% 的数据是负数 class,而 80% 的数据是正数。在计算 F 分数时,我假设精度为 TP/(TP+FP)。我应该 'inverse' 公式因为我不太频繁的 class 是负数吗?那么应该是 TN/(TN+FN)?

首先,你写的不是F1-score。那就是精准!

要计算 F1 分数,请设置精度=TP/(TP+FP) 和召回率=TP/(TP+FN)。他们的调和平均值是 F1 分数。所以,F1=2*(P*R)/(P+R)。 See this for further details.

您可以为每个 class 计算这些值,看看您在 class 化 task.If 中的表现如何 您想要计算负值 class ,你最终会得到的是你所说的计算真正的负面例子而不是真正的正面例子。请注意,真阳性仅意味着正确地 class 化了感兴趣的 class。它与 class 值无关。

最后,您还可以计算两个 classes 的精度、召回率和 f1 并取它们的平均值。这一切都以您想如何判断 classifier 性能而告终。如果准确 class 验证否定实例更重要,你应该专注于获得否定实例的高精度(当然不要搞砸另一个 class!)召回也是如此。