machine-learning - 微观 VS 宏观 VS 加权 F1 分数
问题描述
我有一个不平衡的多分类数据集。我计算了微 F1、宏 F1 和加权 F1。在预测不平衡数据集的整体性能时,我认为 Macro 是最好的。但是,有人说如果要查看整体性能,请使用 Micro,而其他人则说 Micro 仅在数据集不平衡时查看。
- 为什么 Micro 在不平衡的数据集中使用?
- 我什么时候使用微观、宏观和加权?换句话说,这些手段是在什么情况下使用的?
解决方案
首先看到这个答案
不平衡的数据始终是一个需要处理的大问题。这是不平衡数据示例的二元分类。总体准确度看起来不错,但是当您查看单个分数时,您会发现这是一个很大的失败!对于这种数据,我总是在得出结果之前检查次要班级的分数。您可以考虑在此类数据中进行数据扩充。有很好的库来处理不平衡的数据。这是处理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