站群导航· 游戏攻略 / 礼包码 / 配置 / 换算 / 查询 / 手册
导航菜单
首页 全部文章 留言本

用2000条样本评估推荐模型:AUC之外必须看的4个指标

上海一支8人算法团队做过一次复盘:离线AUC从0.72提到0.79,上线后人均点击反而降了3%。问题出在评估口径——他们用的2000条测试样本里,负样本60%是随机抽取的,而线上真实曝光里负样本大多是"曝光未点击",分布完全不同。

先看四个必须同时看的指标。1)AUC:衡量整体排序能力,但对头部不敏感;2)GAUC:按用户分组算AUC再加权,能暴露"少数活跃用户拉高整体"的问题;3)NDCG@10:看前10个位置的排序质量,推荐场景更贴近真实体验;4)校准误差ECE:预测概率与实际点击率的平均偏差,超过0.03就要警惕。

一个具体对比:模型A的AUC是0.76、GAUC 0.71、NDCG@10为0.52;模型B的AUC 0.74、GAUC 0.73、NDCG@10为0.56。单看AUC会选A,但B在用户维度和头部位置都更好,实际AB实验B的点击率高出2.1个百分点。结论很直接:单指标决策容易翻车。

样本量也常被低估。2000条样本做AUC估计,标准误大约0.01,两个模型差0.005在统计上几乎不可区分。想检测1个百分点的真实差异,按80%把握度估算至少需要每组8000到10000条独立样本。很多团队用几百条样本就下结论,这是常见错误第一条。

第二条常见错误是时间泄漏。用1月1日到1月31日的数据训练,用1月25日到31日的数据测试,特征里包含"用户近7天订单数",测试集信息已经漏进训练。正确做法是按时间切分:训练用前21天,验证用第22到28天,测试用最后3天,中间留1天做特征冷却。

第三条是忽略业务约束。某电商推荐模型离线NDCG很高,但把库存不足的商品排到前3,线上直接产生12%的无效点击。评估时加入"可售率"过滤后,NDCG下降0.03,但成交转化提升4.7%。离线指标要为业务目标服务,不是越高越好。

落地步骤建议编号执行:1)固定测试集,按时间切分并冻结;2)同时报告AUC、GAUC、NDCG@10、ECE四个数;3)做分层评估,按新老用户、活跃度三档分别看;4)上线前跑7天5%随机流量对照;5)记录每次实验的样本量和置信区间。少一步,结论的可信度就打一次折。

站群互链

攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
上一篇 时差怎么算(示例10) 下一篇 推荐系统冷启动:新用户新物品如何破局