数据泄漏指训练阶段无意中使用了预测时无法获得的信息,导致离线评估虚高,上线后效果骤降。它往往隐蔽,难以通过指标异常直接发现。
典型场景包括用未来数据构造特征,例如用全量统计均值做归一化,或把目标变量间接编码进特征。时间序列任务尤其容易踩坑。
防范泄漏的关键是严格划分训练、验证和测试集,并保证特征计算只依赖划分点之前的数据。交叉验证也要按时间或用户分组,避免同源样本跨越集合。
发现离线指标异常优秀时,应先怀疑泄漏而非庆祝。复查特征血缘和样本构造逻辑,是每个建模流程的必要环节。
数据泄漏指训练阶段无意中使用了预测时无法获得的信息,导致离线评估虚高,上线后效果骤降。它往往隐蔽,难以通过指标异常直接发现。
典型场景包括用未来数据构造特征,例如用全量统计均值做归一化,或把目标变量间接编码进特征。时间序列任务尤其容易踩坑。
防范泄漏的关键是严格划分训练、验证和测试集,并保证特征计算只依赖划分点之前的数据。交叉验证也要按时间或用户分组,避免同源样本跨越集合。
发现离线指标异常优秀时,应先怀疑泄漏而非庆祝。复查特征血缘和样本构造逻辑,是每个建模流程的必要环节。