Micro-F1 和 Macro-F1 在二进制分类中是相等的,我不知道为什么

数据挖掘 分类 评估 二进制
2021-10-09 17:14:32

我有一个二进制分类问题,在测试集中,两个类中的数据数量相等(0 类和 1 类的测试数相等)。由于我们知道每个类别的样本数量是相等的,我使用逻辑回归输出概率的中位数(类别 1 的样本概率)并将概率映射到 0 和 1,然后计算 f1-micro 和 f1-macro。但他们是绝对平等的,我不知道这是否奇怪以及为什么会发生这种情况。如果您知道发生了什么以及出了什么问题,我将不胜感激。

1个回答

性能指标(例如 F1 分数)的宏观和微观平均之间的区别在于,宏观对每个类的权重相同,而微观对每个样本的权重相同。如果类的分布是对称的(即每个类有相同数量的样本),那么宏观和微观将得到相同的分数。

作为二元分类问题的示例,假设我们的 F1 分数为 0.7 类 1 和 0.5 类 2。使用宏观平均,我们只需将这两个分数平均,即可得到分类器的总分 0.6,无论样本如何在两个类别之间分布,这都是相同的。

如果您使用的是微平均,那么分布是什么就很重要。假设第 1 类占数据的 80%,那么公式将是 0.7*80% + 0.5*(100%-80%),这将等于 0.66,因为每个样本的权重相同,因此分数具有代表性的数据不平衡。如果类 1 占数据的 50%,则公式将变为 0.7*50% + 0.5*(100%-50%),即 0.6,与宏观平均的结果相同。

如果您的数据完全平衡,那么宏观和微观平均都会得到相同的分数。如果不是,它们仍然有可能根据分数的确切分布(或者如果您的估算器对所有涉及的类具有相同的性能)得出相同的分数。