机器学习数据预处理

时间:2017-02-21 14:19:44

标签: machine-learning artificial-intelligence data-processing

我对机器学习的数据预处理有疑问。具体转换数据,使其具有零均值和单位方差。 我已将数据拆分为两个数据集(我知道我应该有三个,但为了简单起见,我只想说我有两个)。我应该转换我的训练数据集,以便整个训练数据集具有单位方差和零均值,然后在测试模型时转换每个测试输入向量,以便每个特定的测试输入向量呈现单位方差和零均值,或者我应该只是变换整个数据集(训练和测试)在一起,以便整个事物呈现单位变量和零均值?我的信念是,我应该这样做,我不会在测试数据集中引入卑鄙的偏见量。但我不是专家,因此我的问题。

1 个答案:

答案 0 :(得分:2)

只能在训练集上安装预处理器,然后在测试集上使用均值和方差变换器。在列车和测试中计算这些统计信息会泄漏有关测试集的一些信息。

让我链接到深度学习的good course并向您显示引文(均来自Andrej Karpathy):

  

常见的陷阱。关于预处理的重要一点是,任何预处理统计(例如数据均值)必须仅在训练数据上计算,然后应用于验证/测试数据。例如。计算平均值并从整个数据集中的每个图像中减去它,然后将数据拆分为train / val / test splits将是一个错误。相反,必须仅在训练数据上计算均值,然后从所有分组(训练/值/测试)中平均减去均值。