在训练、测试和生产过程中如何准备数据?

数据挖掘 预测建模 训练 特征工程 预处理 缺失数据
2021-10-03 05:20:20

大多数现实世界的数据集都具有缺失值的特征。用适当的值(例如平均值)替换缺失值被认为是特征工程中的一个很好的步骤。有时我们还会在将特征列用于训练模型之前对其进行标准化/规范化。

在建模之前,我们还将数据集拆分为训练集和测试集。

我的第一个问题是我们如何在这个拆分的数据集中进行特征工程?

我们是使用未分割特征的全局平均值来替换训练和测试集中这些特征的缺失值,还是应该使用这些集合的局部平均值?

像上面的问题一样,我们如何对训练、测试数据集进行标准化?

最后一个但很重要的问题,在制作中,我们通常一次获得一个特征值(想想一行特征),我们如何对这些数据行进行特征工程?

1个回答

监督机器学习的原理非常简单:用于预测响应变量的“方法”必须完全由训练集确定,并且只能从训练集确定。换句话说,任何不属于训练集的东西都不能使用。

因此,特征工程,即选择如何准备/表示/规范化特征必须仅使用训练集来完成。这包括任何特征选择/提取步骤。

请注意,一旦最终数据准备过程完全确定,它就可以而且应该以完全相同的方式应用于测试集或生产中。这意味着例如标准化不涉及重新计算任何参数,它使用在训练集上计算的参数。

另请参阅一些相关问题: