分类评估macro与weighted平均的区别

多分类任务除了看每类表现,还常汇总成一个分数。macro给每个类别同样权重,weighted按各类真实样本数加权,二者回答的问题不同,不能省略名称只报一个“平均分”。

浅色数据卡片与分类表格
浅色主题概念配图,选自本站AI生成图库;非事件现场或产品实测截图。

先保留每类分数与样本数

自拟两个类别的精确率为0.9与0.5,真实样本数为160与40。macro是两类分数直接平均,得到0.7;weighted根据样本数加权,得到0.82。下面只验证平均方式,没有运行真实模型或构造实际测评结论。

样本多的类别会主导加权结果

当少数类别表现较弱时,加权平均可能仍然较高。若每个类别都重要,应查看逐类结果与macro;若关注当前样本构成下的汇总,weighted有另一种用途。选择要根据评估目标,不能在结果出来后只挑最高的一项。

比较报告时固定标签范围

记录包含哪些类别、每类支持数和零分母的处理方式。micro则先汇总各类计数再计算,也不是简单平均。跨数据集比较时先核对这些设置,避免把样本比例变化当成模型进步。

可以运行的练习

from fractions import Fraction
scores = [Fraction(9, 10), Fraction(1, 2)]
support = [160, 40]
macro = sum(scores) / len(scores)
weighted = sum(s * n for s, n in zip(scores, support, strict=True)) / sum(support)
assert macro == Fraction(7, 10)
assert weighted == Fraction(41, 50)
print(float(macro), float(weighted))

示例已在本地隔离环境运行检查。使用固定输入,不访问外部接口,也不读取真实业务文件。

资料与继续学习

scikit-learn:分类指标的平均方式。资料查阅日期:2026年10月6日。步骤与练习由本站整理。

资料查阅与编辑日期:2026年10月6日。作者:玖柒。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享