评估指标

正确评估模型性能是机器学习的核心环节。选择合适的评估指标,理解它们的含义和局限性,对于模型开发和部署至关重要。

学习难度:入门·阅读时间:约10分钟

评估的重要性

为什么重要

  • 判断模型是否学到了有用的模式
  • 比较不同模型的性能
  • 指导模型优化方向
  • 决定模型是否可以部署

评估原则

  • 数据集划分:训练集、验证集、测试集
  • 避免数据泄露:测试数据不应参与训练
  • 多指标评估:单一指标可能误导
  • 考虑业务场景:选择与业务目标一致的指标

分类指标

混淆矩阵

分类结果的基本表示:

  • TP(真正例):预测为正,实际为正
  • FP(假正例):预测为正,实际为负
  • TN(真负例):预测为负,实际为负
  • FN(假负例):预测为负,实际为正

基础指标

准确率(Accuracy)

正确预测数 / 总预测数

简单直观,但类别不平衡时会误导。

精确率(Precision)

TP / (TP + FP)

预测为正的样本中有多少是真正。关注"查准"。

召回率(Recall)

TP / (TP + FN)

真正的样本有多少被正确预测。关注"查全"。

F1分数

2 × Precision × Recall / (Precision + Recall)

精确率和召回率的调和平均。

回归指标

常用指标

指标公式特点
MSEΣ(y-ŷ)²/n对大误差敏感
RMSE√MSE与原数据同单位
MAEΣ|y-ŷ|/n对异常值鲁棒
1-SS_res/SS_tot可解释方差比例

R²的意义

  • R² = 1:完美预测
  • R² = 0:与均值预测一样
  • R² < 0:比均值预测还差

ROC与AUC

ROC曲线

受试者工作特征曲线:

  • 横轴:假正率 FPR = FP/(FP+TN)
  • 纵轴:真正率 TPR = TP/(TP+FN)(即召回率)
  • 曲线上的每个点对应一个分类阈值

AUC

ROC曲线下面积:

  • AUC = 1.0:完美分类器
  • AUC = 0.5:随机猜测
  • AUC > 0.8:较好的分类器

AUC的优点

  • 不依赖于分类阈值的选择
  • 对类别不平衡不敏感
  • 可以比较不同模型的排序能力

指标选择

根据业务场景选择

欺诈检测

优先召回率。宁可多检查,不漏掉欺诈。

垃圾邮件

优先精确率。误判正常邮件为垃圾邮件代价大。

医疗诊断

平衡精确率和召回率,或用F1分数。

类别不平衡时的选择

  • 避免单独使用准确率
  • 使用F1、AUC或平衡准确率
  • 关注少数类的召回率

常见误区

过度关注准确率

在类别不平衡时,准确率可能误导:

例如:99%是负类,模型全部预测为负
准确率 = 99%,但模型毫无价值

在训练集上评估

  • 训练集表现好不代表泛化好
  • 必须使用独立的测试集

单一指标决策

  • 不同指标反映不同侧面
  • 应该综合考虑多个指标

忽视业务上下文

  • 指标优化不等于业务价值
  • 要考虑不同错误的代价
----