我是否需要在训练数据中缩放测试数据和因变量?

lea*_*ode 3 python machine-learning scikit-learn

我是机器学习中缩放特征概念的新手,我读到当一个特征范围与其他特征相比非常高时,缩放将很有用。但是,如果我选择缩放训练数据,则:

  1. 我可以只缩放具有高范围的一项功能吗?
  2. 如果我缩放整个X火车数据,那么我还需要缩放y火车数据和整个测试数据吗?

小智 6

  1. 是的,您可以缩放具有高范围的一个特征,但请确保没有其他具有高范围的特征,因为如果它存在并且尚未缩放,那么该特征将使算法忽略缩放的贡献特征并影响结果(输出值),即使它有轻微的变化。建议(但非强制)缩放训练集中的所有特征。
  2. 您不需要缩放训练数据的 Y,因为算法或模型将设置参数值以获得最小成本(误差),即 k{Y(输出)-Y(原始)}。但是如果 Xtrain 被缩放,那么测试集(特征值,Xtest)(仅当 Ytrain 被缩放时才缩放 Ytest)需要在将其提供给模型之前进行缩放(使用训练均值和方差),因为模型没有看到此数据之前并已在具有缩放范围的数据上进行过训练,因此如果测试数据的特征值与训练数据中的相应特征范围相差相当大的值,则模型将对相应的测试数据输出错误的预测。