测试和训练集中的特征工程(在组合数据上或单独在训练和测试上)

数据挖掘 预测建模 特征工程 数据科学模型
2022-02-24 06:37:34

背景:作为预测分析的一部分,我得到了一个训练和测试数据集。训练数据和测试数据都具有数值和分类预测变量,此外,训练数据具有数值目标变量。目标是预测测试中的目标。

训练 = [c1,c2,x3,x4, y] = [Xc,X, y]
测试 = [c1,c2,x3,x4] = [Xc,X]

Xc,X 表示分类和数值预测变量。我正在尝试从分类变量 Xc 中生成其他特征,例如计数特征、count_mean、count_variance 以及来自分类变量和数值变量(均值、方差等)的组合的类似特征。

问题:在组合数据集训练+测试上生成特征更好,还是在训练和测试数据集上分别生成特征更好?

当分类变量的分布在训练和测试中不同时会产生什么影响,当它们相似时会发生什么?

1个回答

这个想法是根据您的训练集构建功能。在实际应用程序中,您将拥有一个用于构建和部署模型的训练集,该模型将预测应用程序所需的测试示例。在这种情况下,假设您将拥有生成特征的测试数据是不现实的,因为您已经交付了模型。因此,生成特征的机制只能提供训练信息。

对这个:

当分类变量的分布在训练和测试中不同时会产生什么影响,当它们相似时会发生什么?

在训练和测试集中具有不同分布的数据的影响是非常糟糕的。你的学习算法只会学习训练集上的东西,因此,如果你的测试集有不同的分布,你应该考虑改变你的训练集。但是,如果它们遵循相同的分布,那么如果你做对了,你的算法就会正确地泛化。