macro F1,micro F1以及 weighted F1的区别

对于多分类问题,sklearn中的f1_score评价函数的average有三个参数:‘macro’,‘micro’和‘weighted’,下面我们来说一下这三种F1的区别。


weighted F1分别计算每个类别的F1值,然后与对应类别标签所占的样本比例相乘,然后相加最后得到weighted F1。计算公式如下:

weighted F1 = F1class1*Wclass1+F1class2*Wclass2+...+F1classN*WclassN


micro F1则是先将所有类别的TP,FP,FN相加计算总体的TP,FN和FP,然后计算macro F1,

TPmicro = TPclass1+TPclass2 + ...+TPclassN

FPmicro = FPclass1+FPclass2 + ...+FPclassN
FNmicro = FNclass1+FNclass2 + ...+FNclassN
Pmicro = TPmicro / (TPmicro+FPmicro)

Rmicro =TPmicro / (TPmicro+FNmicro)

macro_F1 = 2*Pmicro*Rmicro / (Pmicro+Rmicro)

二分类情况下Pmicro=Rmicro=accuracy

macro F1则是将所有类别的F1值相加再平均

macro F1 = (F1class1+F1class2+...+F1classN)/ N


macro F1认为所有类别同等重要。所以对于多分类不均衡问题,可以使用macro F1。

评论

Live Sex Cams Free