数据泄漏 Data Leakage
一句话定义
数据泄漏指模型训练过程使用了不应存在于训练时刻的信息,导致评估过于乐观。
问题设定
- 输入:训练流程与数据管道。
- 输出:泄漏风险识别与防护策略。
- 假设:训练与评估应严格隔离。
- 边界:泄漏不可用“后处理”修复。
数学表述
泄漏通常表现为 $\mathcal{D}{train}$ 与 $\mathcal{D}{test}$ 不独立,或特征中包含未来信息。
算法解释
- 统计量在全数据上拟合(如均值/标准差)会造成隐性泄漏。
- 目标编码/时间序列滚动特征最易触发泄漏。
优化与实现细节
- 目标来源:保持训练-评估独立性。
- 方法:分割后再做特征统计;时间序列严格因果。
- 数值要点:交叉验证必须在管道内执行。
关联与边界
- 与特征工程、验证策略紧密相关。
- 边界:无法通过调整模型参数弥补泄漏。
失败模式
- 线上指标大幅低于离线指标。
- 新数据上性能崩塌。
最小伪代码
Split data
Fit transforms on train only
Evaluate on untouched test
决策清单
- 统计量仅在训练集拟合
- 时间特征严格因果
- 验证流程无共享状态
个人备注
TODO