标准化又称标准差规范化或Z标准化(Z_Score Normalization),对样本每个特征分别进行计算使其满足正态分布--均值0、标准差1,
# 引用相应的库,numpy用于生成缺失值,引用sklearn.processing库,其中包含绝大部分的数据与处理方法
from sklearn import preprocessing
import numpy as np
# 原始数据X
X=np.array([[3,-2.,2.],[2.,0.,0.],[1,2.,3.]])
# 初始化数据预处理器,用标准化缩放
standard_scaler=preprocessing.StandardScaler()
# 数据转换并打印
X_standard=standard_scaler.fit_transform(X)
print(u"标准化变换的结果如下:\n")
print(X_standard)
# 输出其均值
print(u"输出标准化变换之后的均值:\n")
print(X_standard.mean(axis=0))
# 输出其标准差
print(u"输出标准化之后的标准差:\n")
print(X_standard.std(axis=0))
输出结果
标准化变换的结果如下:
[[ 1.22474487 -1.22474487 0.26726124]
[ 0. 0. -1.33630621]
[-1.22474487 1.22474487 1.06904497]]
输出标准化变换之后的均值:
[ 0.00000000e+00 0.00000000e+00 -7.40148683e-17]
输出标准化之后的标准差:
[1. 1. 1.]
标准化转换后均值0,标准差1,满足标准正态分布
所有预处理方法都提供函数接口,函数调用代码实现如下:
# 标准化缩放函数化实现
X_standard=preprocessing.scale(X)
print(X_standard)
输出
标准化变换后结果如下
[[ 1.22474487 -1.22474487 0.26726124]
[ 0. 0. -1.33630621]
[-1.22474487 1.22474487 1.06904497]]