Python Sklearn管道:在管道中包括结垢时是否存在泄漏/偏差?

Python Sklearn管道:在管道中包括结垢时是否存在泄漏/偏差?,python,machine-learning,scikit-learn,pipeline,scaling,Python,Machine Learning,Scikit Learn,Pipeline,Scaling,在机器学习中,您将数据分为训练数据和测试数据 在交叉验证中,将训练数据拆分为训练集和验证集 如果需要缩放,则在CV的每次迭代中,计算不包括验证集的训练集(而不是整个训练数据)的平均值和标准偏差,并将其用于缩放验证集,以便缩放部分从不包含来自验证集的信息 我的问题是,当我在管道中包括缩放时,在每个CV迭代中,缩放是从较小的训练集(不包括验证集)还是从整个训练数据(包括验证集)计算的?因为如果它从整个训练数据中计算平均值和标准差,那么这将导致验证集中的估计偏差。我也考虑过这一点,尽管我认为使用完整数

在机器学习中,您将数据分为训练数据和测试数据

在交叉验证中,将训练数据拆分为训练集和验证集

如果需要缩放,则在CV的每次迭代中,计算不包括验证集的训练集(而不是整个训练数据)的平均值和标准偏差,并将其用于缩放验证集,以便缩放部分从不包含来自验证集的信息


我的问题是,当我在管道中包括缩放时,在每个CV迭代中,缩放是从较小的训练集(不包括验证集)还是从整个训练数据(包括验证集)计算的?因为如果它从整个训练数据中计算平均值和标准差,那么这将导致验证集中的估计偏差。

我也考虑过这一点,尽管我认为使用完整数据进行缩放会将训练数据中的一些信息泄漏到验证数据中,但我认为这并没有那么严重

一方面,不管怎样,你都会对数据进行洗牌,并且假设所有集合中的分布都是相同的,因此你期望均值和标准差是相同的。(当然,这只是理论上的(大数定律)。)

另一方面,即使手段和性传播疾病不同,这种差异也不会很大


在我的选择中,是的,你可能有一些偏差,但它应该可以忽略不计。

如果你的缩放是管道的一部分,适合列车并在验证时进行测试,则没有泄漏。因此,平均值和STD是从培训集中计算的,不包括每次迭代时的验证集,对吗?是的,这是应该的方式。如果你有疑问,你可以随时检查