分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1

摘要:
C类的误报率为2。因此,在不同的情况下,我们需要判断是否希望精度或召回率较高。此时,我们可以引入另一个评估指标——F1核心。Micro-F1和Macro-F1最后是Micro-F1与Macro-F1。有两种合并方法:第一种是计算所有类别的总精度和召回率,然后计算F1。例如,根据上表计算:精度=5/(5+3)=0.625,召回率=5/(3+4)=0.556,然后使用F1的公式计算F1。这种方法称为Micro-F1微平均值。第二种方法是计算每个类的Precision和Recall,然后计算F1,最后求F1的平均值。同样,计算B类和C类的F1,最后计算平均值。这种范式被称为Macro-F1宏观平均值。

轉自 https://blog.csdn.net/sinat_28576553/article/details/80258619

四个基本概念
TP、True Positive   真阳性:预测为正,实际也为正

FP、False Positive  假阳性:预测为正,实际为负

FN、False Negative 假阴性:预测与负、实际为正

TN、True Negative 真阴性:预测为负、实际也为负。

【一致判真假,预测判阴阳。】

以分类问题为例:

 分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1第1张

首先看真阳性:真阳性的定义是“预测为正,实际也是正”,这个最好理解,就是指预测正确,是哪个类就被分到哪个类。对类A而言,TP的个位数为2,对类B而言,TP的个数为2,对类C而言,TP的个数为1。

然后看假阳性,假阳性的定义是“预测为正,实际为负”,就是预测为某个类,但是实际不是。对类A而言,FP个数为0,我们预测之后,把1和2分给了A,这两个都是正确的,并不存在把不是A类的值分给A的情况。类B的FP是2,"3"和"8"都不是B类,但却分给了B,所以为假阳性。类C的假阳性个数为2。

最后看一下假阴性,假阴性的定义是“预测为负,实际为正”,对类A而言,FN为2,"3"和"4"分别预测为B和C,但是实际是A,也就是预测为负,实际为正。对类B而言,FN为1,对类C而言,FN为1。

具体情况看如下表格:

 ABC總計
TP2215
FP0224
FN2114

精确率和召回率

分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1第2张

计算我们预测出来的某类样本中,有多少是被正确预测的。针对预测样本而言。

分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1第3张

针对原先实际样本而言,有多少样本被正确的预测出来了。

套用网上的一个例子:

某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

精确率 = 700 / (700 +200 + 100) = 70%

召回率 = 700 / 1400 =50%

可以吧上述的例子看成分类预测问题,对于“鲤鱼来说”,TP真阳性为700,FP假阳性为300,FN假阴性为700。

Precison=TP/(TP+FP)=700(700+300)=70%

Recall=TP/(TP+FN)=700/(700+700)=50%

将上述例子,改变一下:把池子里的所有的鲤鱼、虾和鳖都一网打尽,观察这些指标的变化。

精确率 = 1400 / (1400 +300 + 300) = 70%

召回率 = 1400 / 1400 =100%

TP为1400:有1400条鲤鱼被预测出来;FP为600:有600个生物不是鲤鱼类,却被归类到鲤鱼;FN为0,鲤鱼都被归类到鲤鱼类去了,并没有归到其他类。

Precision=TP/(TP+FP)=1400/(1400+600)=70%

Recall=TP/(TP+FN)=1400/(1400)=100%

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数

作为预测者,我们当然是希望,Precision和Recall都保持一个较高的水准,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是正确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高,此时我们可以引出另一个评价指标—F1-Score(F-Measure)。

 F1-Score

F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标,用于测量不均衡数据的精度。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。(出自百度百科)

数学定义:F1分数(F1-Score),又称为平衡F分数(BalancedScore),它被定义为精确率和召回率的调和平均数。

 分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1第4张

更一般的,我们定义Fβ分数为:

分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1第5张

除了F1分数之外,F0.5分数和F2分数,在统计学中也得到了大量应用,其中,F2分数中,召回率的权重高于精确率,而F0.5分数中,精确率的权重高于召回率。

 Micro-F1和Macro-F1
最后看Micro-F1和Macro-F1。在第一个多标签分类任务中,可以对每个“类”,计算F1,显然我们需要把所有类的F1合并起来考虑。

这里有两种合并方式:

第一种计算出所有类别总的Precision和Recall,然后计算F1。

例如依照最上面的表格来计算:Precison=5/(5+3)=0.625,Recall=5/(5+4)=0.556,然后带入F1的公式求出F1,这种方式被称为Micro-F1微平均。

第二种方式是计算出每一个类的Precison和Recall后计算F1,最后将F1平均。

例如上式A类:P=2/(2+0)=1.0,R=2/(2+2)=0.5,F1=(2*1*0.5)/1+0.5=0.667。同理求出B类C类的F1,最后求平均值,这种范式叫做Macro-F1宏平均。

免责声明:文章转载自《分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle 12c 容器讲解ASP.NET Web API身份验证和授权下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

uniapp中组件属性设置不生效的解决方案

例如,每次将滚动视图组件的滚动顶部属性值设置为0时,只能第一次成功返回顶部。组件中滚动顶部的实际值更改后,其绑定属性不会同时更改。...

tomcat不打印日志的原因及解决办法

tomcat的日志在刚启动的时候可以正常打印,系统正常运行几天以后就会出现不打印日志或者日志打印的内容缺少的情况,但是系统还是可以正常使用的,重启tomcat以后日志打印就又正常了,请问一下这是什么原因呢?日志框架使用的是log4j,使用了日志按天分割,每天的日志量是5G左右1.下载日志jar包,例如:commons-logging-1.1.1.jar。放在...

解决fiddler开启后打开浏览器提示无法访问网络

在使用python接口测试的过程中,jupyter经常被用来调试python代码。因为jupyter的默认代理端口是8888,所以当它启用时,它会打开fiddler数据包捕获并打开浏览器,提示“无法访问网络”。这个问题主要是由港口冲突造成的。您可以在工具选项连接中修改端口号,修改它,然后单击“确定”重新启动fiddler...

CefSharp 浏览器核心,爬虫

CefSharp是什么Aframeworkforembeddingweb-browsing-likecapabilitiestoastandard.NETapplication(WPForWindowsForms).Asetofhigh-levelcustomcontrolstomakeitreasonablyeasytointegratethesecapa...

高通平台UEFI有关介绍

高通平台UEFI有关介绍背景我需要在高通平台上学习点亮LCD,目前通过同事在别的平台的配置代码,我已经将kernel部分的屏幕点亮了;剩余的工作量就在BP侧,也就是系统刚开机的那一段时间。有关文档:https://www.cnblogs.com/we-hjb/p/9800627.htmlhttps://blog.csdn.net/u014089131/art...

AirtestIDE连接安卓真机及常见问题

如果无法识别,请前往官方手机网站安装驱动程序。在“”中打开“Open Developer Option”、“USB Debugging”、“USBInstallation”和“Allow Simulation Location”。默认情况下,设备列表将在手机插入后自动刷新。连接USB电缆后,一些手机需要选择“MTP模式”进行连接。手机上还将安装Rotatio...