交叉验证 · 预处理边界

先切折,还是先看全量数据?

同一批样本、同一组折,只改变缩放参数的拟合范围。观察验证分数为什么会被“提前看见验证折”悄悄抬高。

泄漏
对照实验

实验控件

预处理放在哪里?
边界干净

验证折只负责打分,不参与本折均值与标准差的计算。

样本 120 个 CV 样本 另留一份独立测试集
划分 5 组训练 / 验证折 种子固定时划分可复现
缩放参数来源 每折训练样本 验证样本被排除
评分 逐折验证后取均值 最后再对照独立测试分数
当前 CV 均分 折内预处理
独立测试分数 测试样本始终锁在流程外
泄漏抬高估计 错误 CV 均分 − 正确 CV 均分
当前 CV − 测试 普通抽样波动

每一折到底看了谁

边界线圈出验证折;第二条带显示均值与标准差的实际来源。

训练 验证 参与缩放

逐折分数与测试锚点

实色柱是当前流程;浅色柱保留反事实流程,便于逐折对照。

纵轴是教学代理分数。独立测试线不随开关移动,因为测试样本从未参与缩放参数或交叉验证。

缩放参数来自本折训练样本

每折重新计算均值和标准差;验证折只接受变换和评分。

独立测试集保持封存 模型选择完成后才打开;它不会反向影响缩放参数。

泄漏发生在“拟合”预处理器时

标准化本身没有问题。问题是均值、标准差、缺失值填充值或特征选择规则提前使用了验证折的信息。正确做法是把预处理和模型放进同一条折内流水线。

这是确定性的教学简化

页面用受样本量、噪声和折间波动影响的代理分数,专门隔离“缩放参数来源”这一差异。它不声称复现某个具体算法的真实精度;相同控件和种子会得到完全相同的结果。