美文网首页
多分类情况下的precision、recall和f1

多分类情况下的precision、recall和f1

作者: 全村希望gone | 来源:发表于2019-05-29 14:39 被阅读0次

前言

一直在用的代码里面可以测出上面三个值,我就一直没细看,只是不断地加入自己的代码,想要提高precision,结果precision真的提高了,而且提高了还不止一点两点,让我有点害怕,于是想起来看一下这些评价指标是如何计算出来的。

二分类情况

是不是经常看见如下类似的图?这是二分类的图,假设只有正类和负类,True和False分别表示对和错;Positive和Negative分别表示预测为正类和负类。

那么

  • TP:预测为Positive并且对了(样本为正类且预测为正类)
  • TN:预测为Negative并且对了(样本为负类且预测为负类)
  • FP:预测为Positive但错了(样本为负类但预测为正类)
  • FN:预测为Negative但错了(样本为正类但预测为负类)
  • TP+FP:预测为Positive并且对了+预测为Positive但错了=预测为Positive的样本总数
  • TP+FN:预测为Positive并且对了+预测为Negative但错了=实际为Positive的样本总数

所以precision就表示:被正确预测的Positive样本 / 被预测为Positive的样本总数

precision公式 同理,recall就表示:被正确预测的Positive样本 / 实际为Positive的样本总数 recall公式 F1是调和平均值,精准率和召回率只要有一个比较小的话,F1的值也会被拉下来: F1公式

多分类情况

其实和二分类情况很类似,例子如下 多分类实例
昨天写这blog的时候我还不知道多分类的F1 score有两种常用的计算方式,一个是Micro,一个是Macro,前者和二分类类似,也和上述的例子吻合(将例子中的precision和recall代入到F1公式中,得到的就是Micro下的F1值),而Macro情况下计算F1需要先计算出每个类别的F1值,然后求平均值。如下 公式 Macro情况下上述例子的计算 IMG_5664.JPG

参考资料

[1] sklearn中 F1-micro 与 F1-macro区别和计算原理

相关文章

网友评论

      本文标题:多分类情况下的precision、recall和f1

      本文链接:https://www.haomeiwen.com/subject/mczetctx.html