关于metrics.classification_report报告中指标解读

函数的应用

  • 主要是对类目分类相关的业务做评测使用
  • 主要介绍一下: macro avg 和 weighted avg区别

指标解释

1. macro avg(宏平均)

  • 定义:对每个类别的指标(如精确率、召回率、F1-score)取算术平均值,不考虑类别样本数量。
  • 计算公式:
macro_avg = (指标_类别1 + 指标_类别2 + ... + 指标_类别N) / N
  • 特点:
    平等对待每个类别:无论类别样本数量多少,每个类别的权重相同。
  • 适用场景:当类别样本量相对平衡时,能更公平地反映模型在所有类别上的表现。
  • 缺点:如果类别严重不平衡(某些类别样本极少),宏平均可能被小样本类别的极端值拉高或压低。
  • 示例:
假设有 3 个类别:
类别 A:精确率 = 0.9,样本量 = 100
类别 B:精确率 = 0.5,样本量 = 10
类别 C:精确率 = 0.7,样本量 = 10
则 macro avg 精确率 = (0.9 + 0.5 + 0.7) / 30.7

2. weighted avg(加权平均)

  • 定义:根据每个类别的样本数量对指标进行加权平均,样本量越大的类别权重越高。
  • 计算公式:
weighted_avg = (指标_类别1 × 样本量_类别1 + 指标_类别2 × 样本量_类别2 + ... ) / 总样本量
  • 特点:
    样本量决定权重:大样本类别对最终结果影响更大。
  • 适用场景:当类别样本量不平衡时(例如某些类别占大多数),加权平均能反映模型在整体数据上的表现。
  • 缺点:可能掩盖小样本类别的性能问题。
  • 示例:
沿用上述示例:
类别 A:精确率 = 0.9,样本量 = 100
类别 B:精确率 = 0.5,样本量 = 10
类别 C:精确率 = 0.7,样本量 = 10
总样本量 = 120
则 weighted avg 精确率 = (0.9×100 + 0.5×10 + 0.7×10) / 1200.85.

3. 如何选择?

  • 样本平衡时:优先参考 macro avg,因为它平等反映所有类别表现。
  • 样本不平衡时:优先参考 weighted avg,因为它更关注模型在多数类上的表现。
  • 实际应用:需结合业务目标。例如:
    • 医疗诊断(罕见病检测):需关注小样本类别的召回率,此时 macro avg 更有意义。
    • 商品推荐(热门商品占多数):weighted avg 更贴近实际业务效果。

4. 示例报告解读

假设分类报告如下:

              precision  recall  f1-score  support

     class_0       0.90    0.80    0.85       100
     class_1       0.50    0.60    0.55        10
     class_2       0.70    0.70    0.70        10

    accuracy                       0.85       120
   macro avg       0.70    0.70    0.70       120
weighted avg       0.85    0.85    0.85       120

macro avg:所有类别的指标取平均,结果是 0.70。
weighted avg:大样本类别(class_0)主导结果,结果是 0.85。

5. 总结

指标 核心思想 适用场景
macro avg 平等对待每个类别 类别样本量平衡
weighted avg 根据样本量加权 类别样本量不平衡
根据数据分布和业务需求选择合适的指标!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值