您的位置:首页 > 其它

【机器学习】为什么要使用F1衡量分类器的性能

2016-09-19 11:27 411 查看

https://discussions.youdaxue.com/t/f1/4638/6?u=beibei19890724 原文链接

http://blog.csdn.net/duxinyuhi/article/details/52142721 查全率和查准率参考另一篇文章

为什么要使用F1衡量分类器的性能

查准率(Precision)与查全率(Recall)

以信息检索为例说明,总共50篇文献,其中20篇文献是我感兴趣的目标文献,输入特定检索条件返回10篇文献,其中5篇是我要的文献。
查准率(Precision) = 查出的文章中有多少是正确目标 = 5/10

查全率(Recall) = 总共正确的文章中有多少被正确查出 = 5/20

两种值都是我们想要尽量提高的,但不可能两全其美:想要查准率为1,最好的结果就是一篇文献也没搜到,返回的结果肯定没有分类错误,但这样也没有意义;想要查全率为1,最好的情况就是50篇皆返回,这样搜索本身也失去了意义。

F1作为单独的性能指标

我们将F1定义为查准率与查全率的调和平均数。
即 $$ 1/F1 = (1/Precison + 1/Recall) * 1/2 $$

这样可以避免出现查全率或查准率为1而另一端为0的极端情况出现。

还可以根据对查准率/查全率的不同偏好设置两者的比率\Beta

比如对癌症的诊断,可能更关心查全率,则\beta设置大于1。
$$ 1/F_\beta = 1/(1+\beta^2) * (1/Precision + \beta^2/Recall) $$



感谢@mrbean和另一位助教(抱歉没听清ID)的解答

3 回复

4 赞

回复

F1
score
Shortcomings
of Accuracy 中的第二点和第三点不是很明白
p1版块精华帖


创建时间


7月10日


最后回复


7月19日
5


回复

171


浏览

4


用户

5


4


链接













Whale

7月10日



源自 quora4

附上一张图。也就是 当时@walker 所提出的。

1 赞

回复







Nicky优达学城导师

7月11日

补充一下。
还有一种情况是返回20篇,20篇都是对的。这种情况下Precision和Recall也都为1。但这个1与前面的1不同,这个1是最有意义的,也是我们追求的。

回复







Nicky优达学城导师

7月19日




nirvanafish:

想要查准率为1,最好的结果就是一篇文献也没搜到

因为查准率是 1 - 查错率,这里查错率为零。

回复







weiwenjie

7月19日




nirvanafish:

可以避免出现查全率或查准率为1而另一端为0的极端情况出现

为什么这个公式可以避免?举个例子好吗?

回复







nirvanafish

7月19日

F1公式取调和平均值,举例说明:如果一端查全率为0.1(除数不能为0),一端查准率为1,代入F1的公式,F1取值2/11,远小于查准率的1,也就是说0.1极大地降低了该模型的性能指数,小值将大值的影响降低,从而得到合理的性能估计。




weiwenjie:




nirvanafish:

可以避免出现查全率或查准率为1而另一端为0的极端情况出现

为什么这个公式可以避免?举个例子好吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: