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

推荐排序里90%人踩过的5个特征陷阱与修正步骤

某电商推荐团队在2023年6月做了一次回溯:把排序模型从A版本切到B版本,线上点击率涨了3.2%,但7日复购率掉了1.8个百分点。排查两周后发现,B版本新增的"近1小时点击次数"特征在训练集里覆盖了92%的样本,在线上却只有61%的用户有值,缺失部分被填充为0,等于把"新用户"和"不活跃用户"混成了一类。

第一个陷阱是时间穿越。常见错误:用T日全天的行为统计去预测T日上午的点击。修正步骤:1) 给每条样本打上曝光时间戳;2) 统计窗口右边界设为曝光时间减1秒;3) 抽样2000条人工核对,确认没有用到未来数据。某内容平台按这三步重跑后,离线AUC从0.78降到0.74,但线上指标反而更稳。

第二个陷阱是特征覆盖率的静默衰减。做法很朴素:每天凌晨2点跑一次特征覆盖率报表,对覆盖率低于70%的特征标红,连续3天标红就下线。一个15人团队用这套规则,3个月里下线了11个特征,模型体积缩小约18%,推理耗时从45毫秒降到31毫秒。

第三个陷阱是把ID类特征当万能药。对比一下:用户ID embeddings在样本量5000万以上时确实能带来约2%的AUC提升;但在冷启动场景,新用户占比超过25%的渠道里,ID特征几乎不起作用,还会挤占泛化特征的权重。案例:某本地生活应用把城市ID和商户ID同时输入,结果跨城市迁移时排序分数整体偏移,后来改成城市ID只做分桶归一化才解决。

第四个陷阱是特征尺度不一致。价格区间从9.9元到8999元,直接喂进模型会让梯度被大数值主导。步骤:1) 对金额做log1p变换;2) 对计数类特征做分位数截断,比如把99分位以上压到99分位;3) 标准化后再拼接。某二手交易平台按此处理,训练损失曲线在2000步内就收敛,之前要8000步。

第五个陷阱是离线评估口径和线上不一致。离线常用全量样本算AUC,线上却只关心Top10位置的点击。修正做法:离线额外计算Top10的NDCG和位置偏差加权指标,和线上小流量实验对齐。一个20人算法组把这步加进发布checklist后,因指标误判导致的回滚从每月4次降到1次左右。

最后留一个自查清单:特征时间窗是否明确到秒、覆盖率报表是否每日更新、ID特征是否有冷启动开关、金额与计数是否做过变换、离线指标是否包含TopK口径。5项里缺2项以上,别急着上线。

站群互链

攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
上一篇 模型上线前的评估 checklist 下一篇 数据清洗:缺失值与异常值处理