标准化:
让数据服从标准正态分布
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
Original: https://blog.csdn.net/ykrsgs/article/details/126255132
Author: Erick Yu
Title: sklearn快速入门教程:标准化
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/650356/
转载文章受原作者版权保护。转载请注明原作者出处!