此时不同类别内的样本相当于带上了权重,则Macro-F1 较能更真实反应情况,选用Macro-F1更合适 ...
这种情况下,选用macro-f1与micro-f1都差不多,其中macro-f1与weight-f1值是一样的。但这里macro-f1...
macro-F1:在计算公式中考虑到了每个类别的数量,所以适用于数据分布不平衡的情况;但同时因为考虑到数据的数量,所以在数据极度不平衡的情况下,数量较多数量的类会较大的影响到F1的值。micro-F1:没有考虑到数据的数量,所以会平等地看待每一类(因为每一类的precision和recall都在0-1之间),会相对受...
根据F1分数的计算公式,F1-micro值为0.6153。微平均结果可以用sklearn库验证,通过设置average参数为'micro',以确保计算结果的一致性。宏平均(Macro-averaging)宏平均方法在处理多类分类任务时,为每个类别单独计算F1分数,然后取平均值。这种方法强调对每个类别性能的公平评估,不考虑类别间的不平衡。宏...
所以micro的 精确度P 为 TP/(TP+FP)=8/(8+4)=0.666 召回率R TP/(TP+FN)=8/(8+6)=0.571 所以F1-micro的值为:0.6153 可以用sklearn来核对,把average设置成micro y_true = [1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4] ...
需要注意的是因为Micro-F1考虑了各类别的数量,所以更适用于数据分布不平衡的情况。但是在这种情况下,数量较多的类别对Micro-F1的影响会较大。 2.3 Macro-F1 根据2.2节对、、的定义,第类的Precision和Recall为: 先对各类别的Precision和Recall求平均: 然后同样利用F1计算公式计算出来的值即为Macro-F1值: ...
micro-F1: 计算方法:先计算所有类别的总的Precision和Recall,然后计算出来的F1值即为micro-F1; 使用场景:在计算公式中考虑到了每个类别的数量,所以适用于数据分布不平衡的情况;但同时因为考虑到数据的数量,所以在数据极度不平衡的情况下,数量较多数量的类会较大的影响到F1的值; marco-F1: 计算方法:将所有类别的Pr...
总结 如果各个类的分布不均衡的话,使用micro F1score比macro F1score 比较好,显然macro F1score没有考虑各个类的数量大小 参考该网址一位答主的回答,我搬运过来
不过在“Training algorithms for linear text classifiers”[1]中,作者指出,macro-F1是所有类中F1-score的平均值,即第一种方式才是macro-F1的计算方式。论文Macro F1 and Macro F1[2]对两种macro的方法进行简单分析,第二种方式对错误的分布不太敏感,这一点有点像micro-F1,论文作者也推荐方法一。
我感觉更常用的是Macro-F1。统计各个类别的TP、FP、FN、TN,分别计算各自的Precision和Recall,得到各自的F1值,然后取平均值得到Macro-F1 【总结】 从上面二者计算方式上可以看出,Macro-F1平等地看待各个类别,它的值会受到稀有类别的影响;而Micro-F1则更容易受到常见类别的影响。