【问题标题】:Macro VS Micro VS Weighted VS Samples F1 Score宏观 VS 微观 VS 加权 VS 样本 F1 分数
【发布时间】:2019-09-08 10:45:30
【问题描述】:

在 sklearn.metrics.f1_score 中,f1 分数有一个参数叫做“平均”。宏观、微观、加权和样本是什么意思?请详细说明,因为在文档中没有正确解释。或者简单地回答以下问题:

  1. 为什么“样本”是多标签分类的最佳参数?
  2. 为什么 micro 最适合不平衡的数据集?
  3. 加权和宏观有什么区别?

【问题讨论】:

  • 我试过了,没有出来。
  • 正确阅读sklearn.metrics.f1_score函数的文档,你会得到答案。
  • 对不起,我做到了。 “因为在文档中没有正确解释”
  • 您在哪里看到“微最适合不平衡数据”和“最适合多标签分类的样本”?
  • 在这里回答您的问题:datascience.stackexchange.com/a/24051/17844

标签: python python-3.x machine-learning scikit-learn metrics


【解决方案1】:

问题是关于sklearn.metrics.f1_scoreaverage参数的含义。

code可以看出:

  • average=micro 表示通过考虑总的真阳性、假阴性和假阳性来计算 f1 的函数(无论数据集中每个标签的预测如何)
  • average=macro 表示计算每个标签的 f1 的函数,并返回平均值而不考虑数据集中每个标签的比例。
  • average=weighted 表示计算每个标签的 f1 的函数,并返回考虑到数据集中每个标签的比例的平均值。
  • average=samples 表示为每个实例计算 f1 的函数,并返回平均值。将其用于多标签分类。

【讨论】:

    【解决方案2】:

    我发现一篇非常有用的文章更彻底地解释了这些差异并附有示例:https://towardsdatascience.com/multi-class-metrics-made-simple-part-ii-the-f1-score-ebe8b2c2ca1

    不幸的是,它没有处理“样本”参数,而且我还没有尝试过多标签分类,所以我无法回答第 1 个问题。至于其他问题:

    1. 这些信息从何而来?如果我正确理解了这些差异,那么 micro 并不是不平衡数据集的最佳指标,而是最差的指标之一,因为它不包括比例。如文章所述,micro-f1 等于准确度,这是不平衡数据的一个有缺陷的指标。 例如:分类器要在数千张随机图片中识别猫图片,只有1%的数据集由猫图片组成(不平衡数据集)。即使它没有识别出一张猫图片,它的准确率/micro-f1-score 也达到了 99%,因为 99% 的数据被正确识别为非猫图片。

    2. 简而言之:宏观只是各个分数的算术平均值,而加权包括各个样本大小。我推荐这篇文章了解详细信息,如果需要,我可以提供更多示例。

    我知道这个问题已经很老了,但我希望这对某人有所帮助。 如果我错了,请纠正我。我做了一些研究,但不是专家。

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2017-10-25
      • 1970-01-01
      • 2013-07-04
      • 2016-12-30
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多