You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

二分类任务:类平均准确率与整体准确率为何不相等?

为啥整体准确率和两类“准确率”的平均值不相等?

哈哈,这个问题其实是踩了分类任务里指标定义的坑——你混淆了整体准确率和**精确率(Precision)**的概念,我给你拆解清楚:

先明确三个核心指标的计算逻辑

  • 整体准确率(Overall Accuracy):这是最直观的指标,就是所有测试样本里被模型正确分类的比例。公式是:

    整体准确率 = (正确分类的类别1样本数 + 正确分类的类别2样本数) / 总样本数
    

    因为你说样本均衡(两类数量一样),假设每类各有N个样本,总样本就是2N,那整体准确率也可以写成:

    整体准确率 = (TP + TN) / 2N
    

    这里TP是类别1被正确分类的数量,TN是类别2被正确分类的数量。

  • 你说的“单独测试每类的准确率”:其实这不是准确率,而是精确率——它衡量的是“模型预测为某类的样本里,真正属于该类的比例”。比如:

    • 类别1的精确率 = TP / (TP + FP),其中FP是把类别2误判成类别1的样本数
    • 类别2的精确率 = TN / (TN + FN),其中FN是把类别1误判成类别2的样本数
  • 而如果是“某类样本被正确分类的比例”,那叫召回率(Recall):

    • 类别1的召回率 = TP / N
    • 类别2的召回率 = TN / N
      这两个的平均值,在样本均衡的情况下,会和整体准确率完全相等——因为(TP/N + TN/N)/2 = (TP+TN)/2N,和整体准确率的公式一致。

为啥你的数值差这么多?

你计算的是两类精确率的平均值,而不是召回率的平均值。这俩指标关注的维度完全不同:

  • 整体准确率看的是“所有样本的分类正确率”,不管模型把样本预测成哪类,只要分对就算数;
  • 精确率看的是“模型说某类的样本里,真的是该类的比例”,它关注的是模型预测结果的“精准度”,而非整体的正确率。

举个和你数据匹配的简化例子:假设每类各有1000个样本,总样本2000个。整体准确率79.87%,意味着正确分类的总共有1597个(798+799左右)。而类别1的精确率73.41%,说明模型预测为类别1的样本里,73.41%真的是类别1;类别2的精确率63.31%,说明模型预测为类别2的样本里,63.31%真的是类别2。这时候精确率的平均和整体准确率自然没有直接关联,数值差异就出现了。

一句话总结

你把“精确率”当成了“单独测试每类的准确率”,这俩不是一回事。只有当你计算的是两类召回率的平均值时,在样本均衡的情况下,才会和整体准确率相等。

内容的提问来源于stack exchange,提问作者Crista23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:03:12