数据泄漏
Data Leakage
学到 会用 就够:能亲手用起来
你可能会说
“我没把测试标签给模型,为什么文本分类实验仍可能发生数据泄漏?”
机器学习数据泄漏是本不应在训练或选择阶段使用的信息进入流程,使测试表现过于乐观。它可来自标签、预处理、重复对象或未来资料,不仅是直接复制测试答案。
使用 AI
科研里的例子
预测企业次年风险时,若使用了次年才披露的经营状态,离线分数很高,却不符合真实预测时点的信息条件。
如果先用全部数据选择特征、估计填补值或标准化规则,再切训练测试,测试分布就已影响开发。时间预测使用未来字段、同一受访者跨集合出现,也会破坏应用条件。修复要按信息可得时点重新划分,并让每一步预处理只在训练部分拟合。社科中的“数据外泄”是另一种隐私含义,写作需说明此处指评价污染;此外,防泄漏保证预测评价合理,仍不代替因果识别。
在你的学科里,直接拿去用
把数据分析要求写成可复现说明
请先为这项分析形成可复现的任务说明,再建议代码。 问题:[填写] 数据字典及已有规则:[提供] 可用软件与现有代码:[提供] 明确一行数据代表什么、样本范围、连接键、单位、缺失码、变量构造、估计对象和输出。区分描述分析与因果分析;缺少识别依据时不要把回归系数直接称为因果影响。给出小样本核对、异常记录和可重跑顺序。保留原始数据,所有转换写到派生结果并留记录;不能为得到显著结果修改数据或筛选规则。方括号里的内容换成你自己的。来自知识增量《科研中英表达与 Prompt 指南》PG08
判断
亲手检查一次
把每个输入字段标上真实可获得日期,再追踪填补、标准化与特征选择在哪批资料拟合,检查测试信息是否提前进入。
它做不到的
数据泄漏在这里主要是方法问题,不等于个人信息外泄;简单删掉标签列,也不能排除时间和实体关联的隐性泄漏。
增量,由你来写
读完这张,你的理解变了什么?
留言功能会在后面的版本开放。现在可以先在 X 上 @knowledgedelta 告诉我。