Machine learning 一起或单独标准化/分解培训/测试?

Machine learning 一起或单独标准化/分解培训/测试?,machine-learning,standards,Machine Learning,Standards,对X数据的两个常见ML预处理步骤是标准化(例如,从比例到单位方差)和分解(将特征映射到新空间,AIUI) 在ML管道(包括培训/测试/验证集)中实施这些步骤的两种可能方法是: i) 对整个培训/测试/验证X数据集进行标准化/分解,然后分成培训/测试集,并使用最小误差模型对验证集进行预测 ii)分解成训练/测试集,然后分别标准化/分解训练/测试集,并使用最小误差模型对验证集进行预测(标准化/分解后) 其中一种方法比另一种更可取吗?为什么?我认为第三种方法是有效的: 分为测试/训练集,计算训练集上的

对X数据的两个常见ML预处理步骤是标准化(例如,从比例到单位方差)和分解(将特征映射到新空间,AIUI)

在ML管道(包括培训/测试/验证集)中实施这些步骤的两种可能方法是:

i) 对整个培训/测试/验证X数据集进行标准化/分解,然后分成培训/测试集,并使用最小误差模型对验证集进行预测

ii)分解成训练/测试集,然后分别标准化/分解训练/测试集,并使用最小误差模型对验证集进行预测(标准化/分解后)


其中一种方法比另一种更可取吗?为什么?

我认为第三种方法是有效的:

分为测试/训练集,计算训练集上的标准化/分解参数(例如,标准化训练集的均值和方差),并在测试集上应用相同的参数

对于标准化,这可能意味着测试集没有零均值/单位方差

查看测试集以转换训练集通常被认为是不好的做法,除非在转换学习的特殊情况下,您已经提前给出了测试集的输入


您的第二个选项是危险的,因为测试集可能有严重影响标准化参数的异常值。因此,最好有一组在训练集中估计的变换参数。

在CrossValidated上发现了类似的问题,给出了类似的答案: