我需要在训练数据集中对依赖变量和测试数据进行缩放吗?

6

我对机器学习中的特征缩放概念还不熟悉,阅读后得知,当某个特征比其他特征的范围要大时,进行特征缩放会很有用。但如果我选择对训练数据进行特征缩放:

  1. 我是否只需要缩放那个范围很大的特征?
  2. 如果我对整个训练数据的X进行缩放,是否也需要对训练数据和测试数据的y进行缩放?
2个回答

9
  1. 是的,你可以对具有高范围的特征进行缩放,但请确保没有其他具有高范围的特征存在,因为如果存在且未被缩放,则该特征将使算法忽略已缩放特征的贡献并影响结果(输出值)甚至在微小变化时也会产生影响。建议(但不强制)对训练集中的所有特征进行缩放。
  2. 您不需要缩放训练数据的Y,因为算法或模型将设置参数值以获得最小成本(误差),即k {Y(输出)-Y(原始)}。但如果Xtrain已缩放,则在将其馈送到模型之前,测试集(特征值,Xtest)(仅在Ytrain已缩放的情况下缩放Ytest)需要进行缩放(使用训练均值和方差),因为模型尚未看到此数据,并且已经在具有缩放范围的数据上进行了训练,因此,如果测试数据具有相应特征范围中偏离训练数据的特征值的显着高值,则该模型将为相应测试数据输出错误预测。

0

是的,您可以对单个特征进行缩放。您可以将缩放解释为一种使每个特征具有相同重要性的方法。例如,假设您拥有有关人员的数据,并通过两个特征描述您的示例:身高和体重。如果您用米来测量身高,用千克来测量体重,则在计算两个示例之间的距离时,k-最近邻分类器很可能仅基于体重做出决策。在这种情况下,您可以将其中一个特征缩放到与另一个特征相同的范围内。通常,我们将所有特征缩放到相同的范围内(例如0-1)。此外,请记住,用于缩放训练数据的所有值都必须用于缩放测试数据。

至于因变量y,您不需要对其进行缩放。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接