当前位置: 代码迷 >> 综合 >> 分类问题的几个指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1)
  详细解决方案

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

热度:87   发布时间:2023-12-01 02:41:21.0
混肴矩阵
True Positive(TP) False Negative(FN)
False Positive(FP) False Positive(FP)

TP、True Positive   真阳性:预测为正,实际也为正

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

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

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

以分类问题为例:

                                             

真阳性:预测为正,实际也为正,指预测正确,是哪个类就被分到哪个类,对类A而言,TP的个数为2,类B的TP个数为2,类C的TP的个数为1

假阳性:预测为正,实际为负,指预测为某个类,但实际不是。对类A而言,FP的个数为0,类B的FP个数为2,类C的FP个数为2

假阴性:实际为正,预测与负、指某个类实际是A,但预测出不是A。对类A而言,FN的个数为2,类B的FN个数为1,类C的FN为1

  A B C 总计
TP 2 2 1 5
FP 0 2 2 4
FN 2 1 1 4

由混肴矩阵计算以下评价指标:

Accuracy(准确率):分类正确的样本个数占所有样本个数的比例,即

                                           

Average per-class accuracy(平均准确率):每个类别下的准确率的算术平均,即

                                               

Precision(精确率):分类正确的正样本个数占分类器分成的所有正样本个数的比例(注意:精确率和准确率不同),即:计算我们预测出来的某类样本中,有多少是被正确预测的。针对预测样本而言。

                                                

Recall(召回率):分类正确的正样本个数占正样本个数的比例,即:针对原先实际样本而言,有多少样本被正确的预测出来了

                              

精确率和召回率计算时,只是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数

F1-Score

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

F1-Score被定义为精确率和召回率的调和平均数,

                     

定义Fβ分数为:

                            

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

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

这里有两种合并方式:

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

例如依照最上面的表格来计算:Precison=5/(5+4)=0.556,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宏平均。
--------------------- 

  相关解决方案