当前位置: 首页 > article >正文

多类别分类中的宏平均和加权平均

前言

在处理多类别分类问题时,宏平均(Macro-average)和加权平均(Weighted-average)是评估模型性能时常用的两种聚合指标。它们都能将每个类别的独立指标(如精确率、召回率、F1分数等)整合成一个单一的全局指标,但处理方式有所不同,从而反映出模型性能的不同侧重。

宏平均(Macro-average)

宏平均是对所有类别的指标进行简单的算术平均。计算步骤如下:

  1. 独立计算每个类别的指标: 首先,为每个类别独立计算其精确率、召回率或F1分数等。
  2. 求取平均值: 然后,将所有类别的这些独立指标值相加,并除以类别的总数。

宏平均(Macro-average)是一种用于评估多类别分类模型性能的指标计算方法,它通过对所有类别的指标(如精确率、召回率、F1值等)进行简单平均得到。宏平均的计算公式如下:
假设模型有 C 个类别,对于每个类别 i i i i i i = 1, 2, … \ldots , C ),计算其对应的指标值 M i M_i Mi(例如,精确率 P i P_i Pi 、召回率 R i R_i Ri、F1值 F 1 i F1_i F1i 等)。宏平均 M m a c r o M_{macro} Mmacro 的计算公式为:
M macro = 1 C ∑ i = 1 C M i M_{\text{macro}} = \frac{1}{C} \sum_{i=1}^{C} M_i Mmacro=C1i=1CMi
具体到不同的指标,宏平均的计算可以细分为:

  1. 宏平均精确率(Macro-Precision)
    P macro = 1 C ∑ i = 1 C P i P_{\text{macro}} = \frac{1}{C} \sum_{i=1}^{C} P_i Pmacro=C1i=1CPi
    其中 P i P_i Pi 是类别 i i i 的精确率。
  2. 宏平均召回率(Macro-Recall)
    R macro = 1 C ∑ i = 1 C R i R_{\text{macro}} = \frac{1}{C} \sum_{i=1}^{C} R_i Rmacro=C1i=1CRi
    其中 R i R_i Ri 是类别 i i i 的召回率。
  3. 宏平均F1值(Macro-F1)
    F 1 macro = 1 C ∑ i = 1 C F 1 i F1_{\text{macro}} = \frac{1}{C} \sum_{i=1}^{C} F1_i F1macro=C1i=1CF1i
    其中 F 1 i F1_i F1i 是类别 i i i 的F1值,计算公式为:
    F 1 i = 2 ⋅ P i ⋅ R i P i + R i F1_i = 2 \cdot \frac{P_i \cdot R_i}{P_i + R_i} F1i=2Pi+RiPiRi
    特点:
  • 平等对待每个类别: 宏平均不考虑每个类别中样本数量的多少,对所有类别一视同仁。这意味着,即使某个类别的样本数量很少,其在该类别上的表现也会对最终的宏平均值产生相同的影响。
  • 适用于类别不平衡但不希望少数类别被“淹没”的情况: 当数据集中存在类别不平衡,但你仍然希望模型在少数类别上也能表现良好时,宏平均是一个很好的选择。如果模型在少数类别上的性能很差,宏平均值会明显下降,从而提醒你需要关注这些类别。
  • 对少数类别敏感: 如果少数类别预测错误,宏平均会受到较大影响,因为少数类别和多数类别在计算平均值时权重相同。

示例:

假设有A、B、C三个类别,它们的F1分数分别为0.8、0.9、0.5。

宏F1分数 = (0.8+0.9+0.5)/3=0.733

加权平均(Weighted-average)

加权平均是对所有类别的指标进行加权算术平均,权重通常是每个类别在数据集中所占的样本数量比例。计算步骤如下:

  1. 独立计算每个类别的指标: 同样,首先为每个类别独立计算其指标。
  2. 确定每个类别的权重: 计算每个类别在整个数据集中所占的样本比例。
  3. 加权求和: 将每个类别的指标值乘以其对应的权重,然后将所有加权后的值相加。

加权平均的计算公式为:
加权平均 = ∑ i = 1 n w i ⋅ x i ∑ i = 1 n w i \text{加权平均} = \frac{\sum_{i=1}^{n} w_i \cdot x_i}{\sum_{i=1}^{n} w_i} 加权平均=i=1nwii=1nwixi
其中:

  • x i x_i xi 是第 i i i 个数值,
  • w i w_i wi 是第 i i i 个数值对应的权重,
  • n n n 是数值的总个数。
    公式表示将每个数值与其对应的权重相乘后求和,再除以所有权重的总和。

特点:

  • 考虑类别样本数量: 加权平均会根据每个类别的样本数量来分配权重。样本数量多的类别对最终的加权平均值贡献更大,而样本数量少的类别贡献较小。
  • 反映模型在整体数据集上的表现: 如果你更关心模型在整个数据集上的整体表现,尤其是在类别不平衡的数据集中,加权平均是一个更合适的指标。它能够更好地反映模型在多数类别上的性能,因为这些类别在数据集中占据主导地位。
  • 倾向于多数类别: 如果模型在多数类别上表现良好,即使在少数类别上表现较差,加权平均值也可能看起来不错。

示例:

假设有A、B、C三个类别,F1分数分别为0.8、0.9、0.5,样本数量分别为100、200、50。

总样本数 = 100+200+50=350

A类权重 = 100/350≈0.286

B类权重 = 200/350≈0.571

C类权重 = 50/350≈0.143

加权F1分数 = (0.8×0.286)+(0.9×0.571)+(0.5×0.143)=0.2288+0.5139+0.0715≈0.8142

总结

宏平均和加权平均各有侧重,选择哪种平均方法取决于你对模型性能评估的优先级:

  • 宏平均(Macro-average): 更注重所有类别是否都能得到良好预测,即使是样本量小的少数类别。适用于你希望模型在所有类别上都表现均衡,或者特别关注少数类别性能的场景。
  • 加权平均(Weighted-average): 更注重模型在整体数据分布上的预测准确性。适用于你希望模型在多数类别上表现良好,或者希望评估模型在整个数据集上的综合性能的场景。
http://www.lryc.cn/news/2401922.html

相关文章:

  • 电子电路:什么是扩散电容?
  • 贪心算法应用:装箱问题(FFD问题)详解
  • 机器学习的数学基础:假设检验
  • 余氯传感器在智慧水务系统中如何实现IoT集成
  • 操作系统学习(九)——存储系统
  • 服务器安装软件失败或缺依赖怎么办?
  • linux nm/objdump/readelf/addr2line命令详解
  • 006网上订餐系统技术解析:打造高效便捷的餐饮服务平台
  • [10-2]MPU6050简介 江协科技学习笔记(22个知识点)
  • 基于行为分析的下一代安全防御指南
  • Redis持久化机制详解:RDB与AOF的深度剖析
  • 记录一次 apt-key curl导入失败的处理方式
  • Spring Boot 3.X 下Redis缓存的尝试(二):自动注解实现自动化缓存操作
  • 【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡
  • C:\Users\中文名修改为英文名
  • Web 架构相关文章目录(持续更新中)
  • Redis 安装配置和性能优化
  • 购物商城网站 Java+Vue.js+SpringBoot,包括商家管理、商品分类管理、商品管理、在线客服管理、购物订单模块
  • PostgreSQL 安全纵深防御:从权限到加密
  • 【美团技术团队】从实际案例聊聊Java应用的GC优化
  • 在word中点击zotero Add/Edit Citation没有反应的解决办法
  • 整合swagger,以及Knife4j优化界面
  • Unity | AmplifyShaderEditor插件基础(第四集:简易shader)
  • 【安全攻防与漏洞】​​量子计算对HTTPS的威胁:后量子密码学进展
  • linux C语言中的动态库 静态库说明
  • Flash烧录速度和加载配置速度(纯FPGA ZYNQ)
  • 解构与重构:PLM 系统如何从管理工具进化为创新操作系统?
  • Redis:介绍和认识,通用命令,数据类型和内部编码,单线程模型
  • N2语法 強調、限定
  • OpenAI 即将推出 GPT-5:开启多模态、持续记忆对话新时代