python中的数据标准化

      我们在进行数据分析之前,一般需要将数据进行标准化。以便消除不同变量量纲的差异性。在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)

 

 

参考文献:官方文档

 

 

 

 

你可能感兴趣的:(python)