您是不是对训练和测试数据分别应用最小最大缩放?

Posted

技术标签:

【中文标题】您是不是对训练和测试数据分别应用最小最大缩放?【英文标题】:Do you apply min max scaling separately on training and test data?您是否对训练和测试数据分别应用最小最大缩放? 【发布时间】:2017-09-04 07:10:50 【问题描述】:

在应用最小最大缩放来标准化您的特征时,您是否在将整个数据集拆分为训练、验证和测试数据之前对其应用最小最大缩放?

还是先拆分,然后使用该特定集合中的最小值和最大值对每个集合应用最小值最大值?

最后,在对新输入进行预测时,是否应该在输入网络之前使用训练数据中的最小值、最大值对该输入的特征进行归一化?

【问题讨论】:

【参考方案1】:

拆分它,然后缩放。想象一下:你不知道真实世界的数据是什么样的,所以你无法将训练数据扩展到它。您的测试数据是真实数据的替代品,因此您应该以同样的方式对待它。

重申一下:拆分、缩放您的训练数据,然后在测试数据上使用您的训练数据的缩放。

【讨论】:

谢谢!有道理。 @AryaMcCarthy:这导致训练数据集缩放到 0 和 1 之间的值(好!)和测试数据集缩放(取决于拆分和洗牌)到例如之间的值。 -0.3 和 1.3。那是问题吗?我们该如何处理呢? 这不是问题。 (更细致入微的答案:这取决于您的具体用例。) Z 分数怎么样?我们需要使用训练数据的均值和标准差吗?

以上是关于您是不是对训练和测试数据分别应用最小最大缩放?的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用caret包的predict函数对模型在测试集上的表现进行推理和预测predict函数对测试数据集进行数据预处理(和训练集的初始方式保持一致):缺失值填充数值变量最小最大缩放独热编码

在训练数据上使用 MinMaxScaler 以生成用于测试数据的标准、最小值和最大值

我是不是必须对训练和测试数据集分别进行一次热编码? [关闭]

sklearn进行归一化

是否应该对输入数据进行缩放以进行实时分类?

为啥缩放训练和测试数据后我的 SVM 的性能会下降?