我们在进行数据分析之前,一般需要将数据进行标准化。以便消除不同变量量纲的差异性。在python中进行数据标准化可以通过sklearn中的StandardScaler模块来实现。
1)模块的导入
我们可以通过下边的命令来导入StandardScaler模块
from sklearn.preprocessing import StandardScaler
2)常用函数介绍
①scaler.fit(X[,y])
计算待标准化数据的均值和方差等参数。
②scaler.fit_transform(X[,y])
对数据进行fit(感觉说拟合不太准确),然后标准化。
③scaler.transform(X[, y, copy])
对数据进行标准化,与scaler.fit_transform(X[,y])的结果是一样的。
这两个函数的区别参考此博客:http://blog.csdn.net/appleyuchi/article/details/73503282
④scaler.get_params( )
查看scaler的参数。
⑤scaler.inverse_transform(X[, copy])
将标准化后是数据转换为原始数据。
下面是一个具体的例子,大家可以跑一下。这样就可以理解这些函数的具体意义了。
from sklearn.preprocessing import StandardScaler
import numpy as np
#在进行标准化时,若数据只有一列,则需要转成列向量,否则会报错。
data = np.array(range(100)).reshape(-1, 1)
scaler = StandardScaler()
#Compute the mean and std to be used for later scaling.
scaler.fit(data)
scaler.scale_
scaler.mean_ #样本均值
scaler.var_ #样本方差
scaler.n_samples_seen_
#Fit to data, then transform it.
scaler.fit_transform(data)
#Get parameters for this estimator.
scaler.get_params
#Scale back the data to the original representation.
scaler.inverse_transform(scaler.fit_transform(data))
#Perform standardization by centering and scaling.
scaler.transform(data)
参考文献:官方文档