sklearn中f1_score参数解析

1. f1_score

sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average=‘binary’, sample_weight=None, zero_division=‘warn’)
y_true和y_pred顾名思义,一个是真实的标签,一个是预测的标签,注意这里的标签不需要转成one-hot形式
f1_score在讲解时适用于二分类,结果是类别1(如患癌症)的f1_score。在多分类中,可以假设某个类别为1,其他类别为0,因此可以计算每个类别的f1_score

2. average

  • string, [None, ‘binary’ (default), ‘micro’, ‘macro’, ‘samples’, ‘weighted’]
    • None:返回每个类别的f1_score,是一个列表
    • binary:仅适用于二分类,当pos_label为1时,返回类别1的f1_score
    • micro: 通过先计算总体的TP,FN和FP的数量,再计算F1,关于micro和macro可详见博客(说明很详细):https://www.cnblogs.com/techengin/p/8962024.html
    • macro:分别计算每个类别的F1,然后做平均(各类别F1的权重相同),也即宏f1。当小类很重要时会出问题,因为该macro-averging方法是对性能的平均。另一方面,该方法假设所有分类都是一样重要的,因此macro-averaging方法会对小类的性能影响很大。
    • samples:详见https://zhuanlan.zhihu.com/p/59862986
    • weighted:前面提到的macro算法是取算术平均,weighted算法就是在macro算法的改良版,不再是取算术平均、乘以固定weight(也就是1/3)了,而是乘以该类在总样本数中的占比。计算一下每个类的占比:
      https://www.cnblogs.com/techengin/p/8962024.html博客部分内容如下:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      https://zhuanlan.zhihu.com/p/59862986博客部分详见:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章