Scikit-learn:preprocessing.scale()vs preprocessing.StandardScalar()

lea*_*ode 8 python scale scikit-learn

我知道缩放意味着以均值为中心(均值= 0)并使单位方差(方差= 1).

但是,scikit-learn preprocessing.scale(x)preprocessing.StandardScalar()scikit-learn有什么区别?

sas*_*cha 19

那些做得完全一样,但是:

  • preprocessing.scale(x) 只是一个函数,它可以转换一些数据
  • preprocessing.StandardScaler()是一个支持Transformer API的类

我会一直使用后者,即使我不需要inverse_transform和合作.支持StandardScaler().

摘自文档:

函数比例提供了一种在单个类数据集数据集上执行此操作的快速简便方法

预处理模块还提供实用程序类StandardScaler,其实现Transformer API以计算训练集上的均值和标准偏差,以便稍后能够在测试集上重新应用相同的变换.因此,此类适用于sklearn.pipeline.Pipeline的早期步骤