当数据(x)按均值(μ)中心化后,再按标准差(σ)缩放,数据就会服从为均值为0,方差为1的正态分布(即标准正态分 布),而这个过程,就叫做数据标准化。
from sklearn.preprocessing import StandardScaler
data=[[-1,2],[-0.5,6],[0,10],[1,18]]
scaler = StandardScaler()
scaler.fit(data) #fit本质生成均值和方差
print(scaler.mean_) #查看均值的属性mean_
print(scaler.var_) #查看方差的属性var_
x_std = scaler.transform(data)
print(x_std.mean()) #导出的结果是一个数组,用mean()查看均值
print(x_std.var()) #用std()查看方差
print(scaler.fit_transform(data)) #一步达成
print(scaler.inverse_transform(x_std)) #逆标准化
运行结果:
[-0.125 9. ]
[ 0.546875 35. ]
0.0
1.0
[[-1.18321596 -1.18321596]
[-0.50709255 -0.50709255]
[ 0.16903085 0.16903085]
[ 1.52127766 1.52127766]]
[[-1. 2. ]
[-0.5 6. ]
[ 0. 10. ]
[ 1. 18. ]]