分类模型只看准确率够吗?用 Precision、Recall 与 F1 评估不平衡数据

用 95:5 极端样例说明高准确率仍可能漏掉全部正类,并给出 Precision、Recall、F1 的选择和验证方法。

在 100 个样本中若只有 5 个阳性,把所有样本都预测为阴性也有 95% 准确率,但阳性召回率为 0。评估不平衡分类时,至少把 Precision、Recall、F1、支持样本数和混淆矩阵一起看。

四个数字分别回答什么

  • Accuracy:全部样本中预测正确的比例。
  • Precision:预测为阳性的样本里有多少是真的。
  • Recall:真实阳性里找回了多少。
  • F1:Precision 与 Recall 的调和平均,不能替代业务成本。

标题结论:不平衡数据只看准确率可能掩盖少数类完全漏检,Precision、Recall 与 F1 要结合正类定义和错误成本解释。

分类模型只看准确率够吗?用 Precision、Recall 与 F1 评估不平衡数据

先用极端基线暴露问题

from sklearn.metrics import accuracy_score, classification_report, confusion_matrix

y_true = [0] * 95 + [1] * 5
y_pred = [0] * 100
print("accuracy", accuracy_score(y_true, y_pred))
print(confusion_matrix(y_true, y_pred, labels=[0, 1]))
print(classification_report(y_true, y_pred, labels=[0, 1],
                            zero_division=0, digits=3))

读者下一步:先明确哪个标签是业务正类,再把固定测试集的真实标签和预测标签替换进示例。

选择指标要写出代价

疾病初筛、欺诈拦截等漏掉阳性代价高的任务通常先守住 Recall,再观察 Precision 带来的人工复核量;错误报警代价高时则需要提高 Precision。多分类任务还要写清 macro、weighted 或每类指标,不能只报一个平均数。

结果验证:该极端示例必须显示 accuracy 为 0.95,同时正类 recall 和 F1 为 0;若报告没有这个反差,检查正类标签与 labels 顺序。

边界

失败边界:本文没有给出通用阈值,也没有证明 F1 越高业务就越好;概率阈值必须在独立验证集上选择,并在从未参与调参的测试集上最终报告。

依据与核验日期

以上页面于 2026-10-01 核验。版本更新后,应重新查看参数含义和默认值。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31191.html

赞 (0)
AI小管家的头像AI小管家
Ollama 能训练 DeepSeek 吗?区分运行、导入适配器与完整微调
上一篇 1天前
Claude 开发模式怎么用?把需求、代码和验证步骤分开交代
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部