数据泄漏指训练时使用了预测时刻无法获得的信息,导致离线指标虚高、线上效果骤降。它是模型评估中最隐蔽也最常见的错误之一,往往在模型上线后才被发现。
典型泄漏场景包括:用全量数据计算标准化参数再切分、用未来行为构造特征、把目标变量直接或间接编码进特征。例如预测用户是否购买,却使用了订单金额特征,而订单金额只在购买后才存在。
时间序列场景尤其危险。随机切分会让未来样本进入训练集,模型看似预测精准,实则偷看了未来。正确做法是按时间切分,并确保所有特征的计算窗口严格早于预测时刻。
检测泄漏的方法包括:检查每个特征的生成时间和依赖数据、做特征重要性分析看是否出现异常强特征、用严格时间切分重跑评估对比指标落差、以及让业务专家审查特征合理性。
预防胜于检测。建立特征管理规范,明确每个特征的可用时点和计算口径,把特征生成纳入训练流水线做时间对齐,能从流程上杜绝大部分泄漏问题。