兄弟们,最近社区里总有人问“我模型在测试集上刷到99%,上线就拉胯,咋回事?”今天咱就掰扯掰扯模型评估那些容易踩的雷。
**1. 数据泄露:最隐蔽的翻车点 🕳️**
很多人做数据预处理时,globalscale归一化直接在全量数据上fit,然后才切分训练集和测试集。这就把测试集信息偷偷泄露给了模型,评估分数虚高。正确做法:先切分,再对训练集做归一化,测试集用训练集的参数transform。
**2. 分布漂移:模型部署后的噩梦 🌊**
你在实验室用3个月前的数据训的模型,部署到线上发现用户行为变了(比如新功能上线导致特征分布偏移)。这时候即使离线评估再漂亮,线上也是废物。建议:部署前做对抗验证,看看训练集和线上样本能不能被分类器区分;部署后加个监控,每天看特征分布和模型置信度。
**3. 业务指标 vs. 技术指标:别对不上账 📉**
AUC从0.85涨到0.9,但业务收入反而跌了?很可能你的评估指标没对齐业务目标。比如推荐系统,离线用Recall@k,线上实际在乎的是转化率。建议:离线评估至少跑一个跟你业务强相关的代理指标,比如点击率、留存率。
**4. 小样本、长尾、冷启动:评估陷阱 🎯**
模型在Top-10%的样本上表现完美,但中后部一塌糊涂。这是典型的“平均指标骗局”。建议:分层评估,按样本频次、难度分桶看每个桶的指标,尤其关注长尾分布。
**最后抛个问题:你们在模型评估时遇到过最离谱的坑是什么?欢迎在楼下开喷分享 🤬** |