首页 > 解决方案 > 微观 VS 宏观 VS 加权 F1 分数

问题描述

我有一个不平衡的多分类数据集。我计算了微 F1、宏 F1 和加权 F1。在预测不平衡数据集的整体性能时,我认为 Macro 是最好的。但是,有人说如果要查看整体性能,请使用 Micro,而其他人则说 Micro 仅在数据集不平衡时查看。

  1. 为什么 Micro 在不平衡的数据集中使用?
  2. 我什么时候使用微观、宏观和加权?换句话说,这些手段是在什么情况下使用的?

标签: machine-learningmulticlass-classificationimbalanced-data

解决方案


首先看到这个答案

不平衡的数据始终是一个需要处理的大问题。这是不平衡数据示例的二元分类。总体准确度看起来不错,但是当您查看单个分数时,您会发现这是一个很大的失败!对于这种数据,我总是在得出结果之前检查次要班级的分数。您可以考虑在此类数据中进行数据扩充。有很好的库来处理不平衡的数据。这是处理Python 中不平衡数据的库的一个很好的示例。

最后,Micro avg 使用单个真假阳性和假阴性。Micro avg 只是 presicion+recall 的平均值,不考虑数据中类的比例。因此,微平均值更好地反映了不平衡数据的准确性。

笔记:

这是sklearn网站上的解释:

“微”:通过计算真阳性、假阴性和假阳性的总数来全局计算指标。

'macro':计算每个标签的指标,并找到它们的未加权平均值。这没有考虑标签不平衡。

如果你看一下宏,它会说:这没有考虑标签不平衡。如果您的数据不平衡,最好使用 micro。 资源

#Confusion Matrix:
 [[3808    0]
 [ 182    2]]
              precision    recall  f1-score   support

           0       0.95      1.00      0.98      3808
           1       1.00      0.01      0.02       184

    accuracy                           0.95      3992
   macro avg       0.98      0.51      0.50      3992
weighted avg       0.96      0.95      0.93      3992


推荐阅读