F1 得分

在这篇帖子中我谈下对F1 得分(F1 score)的理解,如果你想了解更多,请移步这里

F1 得分的定义

F1 得分是精度和召回率的调和平均数,即

F_1 = \left ( \frac{recall^{-1} + precision^{-1}}{2} \right ) = 2 \cdot \frac{ precision * recall}{precision + recall}

其中,precisionrecall 分别表示精度和召回率。这两个概念不再在这里进行解释,如果你不确定自己是否已掌握或清楚,请参考这里这里

从F1得分的定义可以看到,当我们使用F1得分作为度量时,我们均等地考虑精度和召回率,这里的均等意味着精度和召回率得到的权重一样,后面我们会看到不同权重的例子。

F-beta 得分

F_\beta 是一般形式的F度量,其中\beta是一个正实数,当\beta为1时,我们即获得前面提到的F1得分。F_\beta 的定义如下:

F_\beta = (1 + \beta^2) \cdot \frac{precision \cdot recall}{(\beta^2 \cdot precision) + recall}

可以看到,\beta在这里扮演着十分重要的角色,那么当\beta 变化时F_\beta 如何改变呢?

让我们对F_\beta的定义稍作调整,分子和分母同时除以1+\beta^2,得到:

F_\beta = \frac{precision \cdot recall}{(\frac{\beta^2}{1 + \beta^2} \cdot precision) + \frac{recall}{1 + \beta^2}}

从以上公式出发,当\beta不断变小接近零时,在分母中\frac{\beta^2}{1 + \beta^2}不断接近0,1 + \beta^2不断接近1,整个F_\beta接近precision。类似的分析可以得到,当\beta不断变大时,整个F_\beta接近recall

结论:

当我们选择较小的\beta时,我们更多的关心精度,而当选择较大的\beta时,我们更关注召回率。与此相应,我们有两个常见的指标分别为F_{0.5}F_2

欢迎评论!

Advertisements