默认情况下,“ scale”类正在计算标准偏差,并且输出与StandardScaler类相同。 换句话说,在以下两种情况下,我得到相同的结果。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
nns=scaler.fit_transform(X_train.fillna(0))
根据github,StandardScaler的受欢迎程度(即使用程度)是规模的10倍。
from sklearn.preprocessing import scale
nsc1=scale(X_train.fillna(0))
是否存在“ scale”类的特定原因?
更新:
例如在应用kmeans算法之前,变白特别适用于图像。使用standardScaler类(with_mean为False)可以实现相同的结果。使用单个标准类(例如“ StandardScaler”)确实有助于避免导入不同模块(例如scipy)。
import numpy as np
features = np.array([[1.9, 2.5, 1.7], [1.5, 2.5, 2.2], [0.8, 2.5, 1.7]])
from scipy.cluster.vq import whiten
whiten(features)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler(with_mean=False)
scaler.fit_transform(features)