跨样本缩放时数据泄漏是否相关?

人工智能 机器学习 数据预处理 正常化
2021-11-02 09:56:11

在为神经网络预处理数据时,我有一个关于数据泄漏的问题,以及数据泄漏是否真的适用于我的实例。

我有稳定转换基因组数据的方差。因为它是基因组数据,我们先验地知道,较低的数字会转化为较低水平的基因,反之亦然。在输入到神经网络之前,使用 sklearn 将数据压缩到 0 和 1 之间:

preprocessing.minmax_scale(data, feature_range=(0,1), axis=1)

由于基因水平的这种先验假设,需要在样本而不是特征之间进行 min_max 缩放(axis=1)- 低基因需要保持低水平,反之亦然......

因此,我的问题是:训练样本是否仍然需要与测试样本分开缩放,因为这里似乎没有数据泄漏的风险?这是正确的假设吗?

1个回答

考虑到您正在进行 minmax 缩放,唯一没有数据泄漏风险的时间是,如果您的训练集上的最小值等于测试集的最小值,并且您的训练集上的最大值等于测试集上的最大值。

在这种情况下,缩放的结果与将缩放器拟合到训练集并将其应用于测试集完全相同。

单独缩放它们基本上没有优势,如果它们的值范围不同,您将承担数据泄漏的风险。我对基因组数据了解不多,但即使你的假设是正确的,我也建议不要这样做。