什么是f1-score及其值表示什么?

时间:2017-08-30 14:31:15

标签: machine-learning scikit-learn

sklearn有一个评估指标,它是f1-score(也存在f-beta分数)。

我知道如何使用它,但我不太明白它代表什么。

它大小时表示什么。

如果我们把公式放在一边,我应该从f分数值中理解什么?

2 个答案:

答案 0 :(得分:11)

F-score是收集精确度和召回率的简单公式。想象一下,您想要预测二进制分类任务的标签(正面或负面)。您有4种类型的预测:

  • 真阳性:正确指定为阳性。
  • true negative:正确指定为否定。
  • 误报:错误地指定为正面。
  • false negative:错误地指定为否定。

精确度是所有阳性预测的真阳性比例。精度为1意味着你没有误报,这很好,因为你从来没有说过一个元素是积极的而不是一个元素。

召回是所有实际积极因素的真阳性比例。召回1意味着你没有假阴性,这是好的,因为你从未说过一个元素属于相反的类,而它实际上属于你的类。

如果您想知道您的预测是否良好,您需要这两项措施。你的精确度可以为1(所以当你说它是积极的,它的行为是积极的)但仍然有很低的召回率(你预测3个好的积极因素,但忘记了15个其他积极因素)。或者你可以有一个良好的回忆和糟糕的精度。

这就是为什么你可以检查f1-score,以及任何其他类型的f-score。如果这两个值中的一个显着减少,那么f分数也会如此。但请注意,在许多问题中,我们更倾向于给予精确度或召回更多的权重(在网络安全性中,错误地阻止一些好的请求比放弃一些不好的请求更好)。

答案 1 :(得分:5)

f1-score是最受欢迎的效果指标之一。据我所知,这是sklearn中存在的指标。

本质上,f1-score是精度和召回的调和平均值。当我们创建分类器时,我们总是在召回和精确度之间做出妥协,与高精度但低召回率的模型相比,很难比较具有高召回率和低精度的模型。 f1-score是我们可以用来比较两个模型的度量。

这并不是说具有更高f1分数的模型总是更好 - 这可能取决于您的具体情况。