sklearn快速入门教程:标准化

标准化: 

让数据服从标准正态分布 

sklearn快速入门教程:标准化_第1张图片

StandardScaler

 实现

from sklearn.preprocessing import StandardScaler
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = StandardScaler()#实例化
scaler.fit(data) #生成了均值&方差
result = scaler.transform(data) #通过transform接口导出标准化结果
result
# scaler.fit_transform(data) #将上面3行一步到位
array([[-1.18321596, -1.18321596],
       [-0.50709255, -0.50709255],
       [ 0.16903085,  0.16903085],
       [ 1.52127766,  1.52127766]])

result的两列一模一样,可见:

data中0、1两列提供的信息量是一样的。

 

逆转标准化: 

scaler.inverse_transform(result)

 

array([[-1. ,  2. ],
       [-0.5,  6. ],
       [ 0. , 10. ],
       [ 1. , 18. ]])

 解析

scaler.mean_ #属性mean_:查看均值
array([-0.125,  9.   ])

StandardScaler object中,默认按列处理数据。因为data有2列数据,所以均值有2个

scaler.var_ #属性var_:查看方差
array([ 0.546875, 35.      ])

StandardScaler object中,默认按列处理数据。因为data有2列数据,所以方差有2个 

 

result.mean() #numpy.ndarray object的函数mean():查看result(数组均值

 0.0

result.var() #numpy.ndarray object的函数var():查看方差

1.0

你可能感兴趣的:(sklearn,人工智能,python)