← ClaudeAtlas

ml-leakage-defenselisted

数据泄漏专项防御。当用户怀疑线下虚高线上暴跌、某特征重要性异常高、验证集好得可疑, 或搭管道想事前防漏——归一化/填充/目标编码在切分前还是切分后做、时序能否 shuffle、 特征选择是否偷看测试集——时激活。 trigger: data leakage 数据泄漏、target leakage、train-test contamination、offline-online gap 线上线下不一致、too good to be true。 动作: 三大类型定位(特征-目标/训练-测试污染/过程泄漏)→信号核对→上线前检查清单。 不适用于: 六问总审(ml-pitfall-audit)、偏差方差归因(ml-diagnosis)、特征构造 (ml-feature-engineering)。
fieldlu/Machine-learning-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill fieldlu/Machine-learning-skills
# 数据泄漏防御 — 线上暴跌的头号嫌疑人 ## R — 原文 (Reading) > Data leakage is the creation of unexpected additional information in the training set, allowing a model to make unrealistically good predictions.(转述) > > — 转述自 Daniel Kaufman 等, "Leakage and the reproducibility crisis in ML-based science", Patterns 2023(来源性质:业界对泄漏的系统化定义文献) > The general rule is this: apply every transformation that depends on the data distribution to train only, then propagate to validation/test.(转述) > > — 转述自 scikit-learn 官方文档 "Common pitfalls: data leakage" 一节(来源性质:事实标准库文档) > **来源说明**: 本 skill 属批C"工程实践共识"系列——《机器学习》(西瓜书)不含工程落地内容, > 其最接近的锚点是第2章"测试集必须与训练集互斥"的出题类比;本 skill 把这一原则从"评估集 > 选择"扩展到整条数据管道。R 段改引业界公开文献并标注来源性质;凡无法保证逐字精确处一律标(转述)。 --- ## I — 方法论骨架 (Interpretation) 泄漏 = 让模型在训练时接触了"考试时拿不到的信息"。它不产生真知识,只产生虚高的指标,且几乎总是上线后才暴露。按发生位置分三大类型: 1. **特征-目标泄漏**:某个特征本身就是目标(或目标的代理)——预测"是否流失"却放进了"注销日期",预测住院时长放进了出院诊断编码。典型信号:单一特征重要性高得反常。 2. **训练-测试污染**:测试信息混进训练过程——重复样本跨集合存在、按时间问题却随机 shuffle 后划分、测试集参与了特征选择或超参搜索。 3. **过程泄漏**:顺序错误让统计量穿越边界——先全量归一化/填充再划分、目标编码在全量上 fit、SMOTE 重采样放在划分之前。每个变换器都是一个潜在的泄漏点。 防御的元原则只有一条:**一切依赖数据分布的计算(均值、分位数、分箱边界、编码映射、重采样、特征选择),只在训练折内执行,再 transform 到其余部分**。检测靠三组信号:线下暴涨线上暴跌、单特征重要性异常、极小的模型间差距(大家都在拟合同一个泄漏源)。泄漏的代价是不对称的——它不会被训练损失发现,只能靠流程纪律和怀疑精神拦截。 --- ## A1 — 业界公开案例 (Past Application) > 注: 西瓜书无对应案例,本节用业界公开案例充当类比素材;书内仅提供原则回声。 ### 案例 1: Netflix Prize 的残留隐变量泄漏 (Bell & Korbel, 2007; 社区复盘) - **问题**: 参赛者普遍用"用户-电影"评分矩阵的隐特征做特征,但不少队伍把整个评分历史(含待预测时间点之后的部分)一起分解。 - **方法论的使用**: 赛后复盘确认部分高分方案把未来评分信息带进了过去时点的预测,属于典型的时序穿越型特征-目标