模型评估核心 20% — 指标选错,模型白做

一句话:评估的第一件事不是算指标,而是问”这个错误在业务上值多少钱”。正负样本比例、漏判与误判的代价,决定你该看 Precision、Recall 还是 AUC。


🎯 这 20% 能解决哪些问题

常见困惑本质本页答案
准确率 98% 为什么不能用类别不平衡见「指标选择决策表」
AUC 0.9 就代表好吗与阈值无关、与业务无关见「AUC 的三个边界」
离线很好线上很差泄漏或分布漂移见「五个泄漏检查」
两个模型差 0.3 个点,算真的更好吗缺置信区间见「差异是否显著」
上线后怎么持续评估没有监控闭环见「线上评估四层」

一、指标选择决策表

场景首选指标理由
类别均衡的分类Accuracy、F1直观
正样本稀少(< 10%)PR-AUC、Recall@PrecisionAUC 会过于乐观
漏判代价高(疾病筛查、风控)Recall(在可接受 Precision 下)优先不漏
误判代价高(封号、自动拦截)Precision优先不冤枉
排序/推荐NDCG、MAP、Recall@K关注排序位置
回归MAE(稳健)、RMSE(重罚大误差)、MAPE(相对)看业务对误差的容忍
概率输出需可信校准曲线、Brier Score分数要能当概率用

二、AUC 的三个边界

边界说明
与阈值无关AUC 高不代表某个阈值下好用,业务一定要定阈值
对类别不平衡不敏感负样本极多时 AUC 仍可能很高,用 PR-AUC 更真实
忽略了错误的分布不同群体的 AUC 差异需分组看

必看的两张图:混淆矩阵(定阈值后)与 PR 曲线(不平衡时)。


三、五个泄漏检查

检查做法
特征时间每个特征标注”最早可用时间”,晚于预测时点的剔除
预处理位置归一化/编码/填充是否只在训练折内 fit
实体分组同一用户/设备/门店是否跨折
重复样本近重复样本是否分到不同集合
标签构造标签是否用了未来信息(如”最终是否成交”用于预测时点)

四、差异是否显著

[ \text{95% 置信区间} \approx \hat{p} \pm 1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} ]

样本量 n准确率 0.9 的 95% 区间宽度
100约 ±5.9 个点
1,000约 ±1.9 个点
10,000约 ±0.6 个点
100,000约 ±0.2 个点

结论:测试集只有 500 条时,“提升 1 个点”完全可能是噪声。要么扩样本,要么用配对检验(同一批样本上比较两个模型)。


五、校准:分数能不能当概率

现象含义处理
模型说 0.9,实际正例只有 0.6过度自信温度缩放、Platt 校准
分数分布集中在中间区分度不足加特征、换模型
各群体校准不同群体偏差分组校准

何时必须校准:把分数直接用于决策(定价、限额、风险加权)时。


六、线上评估四层

graph LR
    A["离线<br/>固定测试集"] --> B["回溯<br/>历史流量重放"]
    B --> C["灰度<br/>小流量 A/B"]
    C --> D["全量<br/>监控与告警"]
层次关键指标
离线任务指标 + 分组指标
回溯与线上规则的一致性、覆盖率
灰度业务指标(转化、投诉、人工介入率)
全量数据漂移监控(特征分布 PSI)、指标衰减

上线后最重要的两件事:特征分布漂移告警、以及”模型置信度分布”的变化(置信度整体抬高常预示漂移)。


📋 一页速查

问题答案
不平衡用什么PR-AUC,不用准确率
漏判代价高看什么Recall
误判代价高看什么Precision
AUC 高就够吗不够,必须定阈值看混淆矩阵
提 1 个点可信吗看置信区间与样本量
上线看什么漂移与置信度分布

🔗 相关链接

主题链接
机器学习概览机器学习
监督学习监督学习核心 20%
深度学习深度学习核心 20%
公平性公平性核心 20%
可解释性可解释性核心 20%