对训练集和测试集进行数据预处理?

问题描述 投票:0回答:1

在构建预测模型时需要帮助理解数据预处理的步骤。

相信就是这样的场景:

我建立了决策树,

I 合并多个 csv 中的文件;执行了一些步骤,例如为目标变量创建多个类别,并将数值变量转换为分类变量并添加一些新的计算列,对输入变量进行插补

然后划分了70个训练和30个测试

然后我加入了 knime 中决策树学习器节点的 70% 分区测试,并将分区节点的 30% 输出加入到决策树预测器节点,我得到了 100% 的准确度,这是有线的。

经过挖掘,我发现我所做的所有数据预处理(添加额外的计算列、插补、从数值转换分类列)都必须在数据分区之前完成,以获得训练集和测试集。

我的疑问是,如果我在拆分后执行此操作,预测器节点如何知道我的更改,因为我根据数据集中的数字列创建了新的目标变量列。当我在测试数据上执行此操作时,我什至如何使用预测节点中不存在的目标变量。

并且还在某处读到我之前所做的所有步骤,我也必须在测试数据上执行。真的是这样吗?我觉得这对于在测试数据上复制每个数据清理步骤来说太乏味了。

即使在分割后进行清洁,又有什么区别呢?

我是一个绝对的初学者,请帮助我,如果您可以提供特定于 knime 平台的答案,那将会非常有帮助。预先感谢

描述问题中的所有内容。

machine-learning data-science knime
1个回答
0
投票

您应该在训练和测试中执行所有预处理步骤。从测试中删除您的预测列(Y 变量)。在训练数据集上训练模型并在测试集上进行预测。将预测 (YP) 与 Y 进行比较,得出准确性、rmse 等良好指标。

© www.soinside.com 2019 - 2024. All rights reserved.