1.标准化特点:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内。
对数据进行缩放首先想到标准化!!!
2.公式:
注:公式作用于每一列,mean为平均值,σ为标准差
其中:方差考量数据的稳定性
3.结合归一化来理解标准化
4.用法:
sklearn特征化API: scikit-learn.preprocessing.StandardScaler
StandardScaler(…) 处理之后每列来说所有数据都聚集在均值0附近方差为1
StandardScaler.fit_transform(X,y) X:numpy array格式的数据[n_samples,n_features] 返回值:转换后的形状相同的array
StandardScaler.mean_ 原始数据中每列特征的平均值(现在这个方法改为了.with_mean , 但是我打印这个结果为true)
StandardScaler.std_ 原始数据每列特征的方差 (现在这个方法改为了.with_std)
5.标准化步骤:1、实例化StandardScaler
2、通过fit_transform转换
6.案例:对[[ 1., -1., 3.], [ 2., 4., 2.], [ 4., 6., -1.]]进行标准化
from sklearn.preprocessing import StandardScaler def stand(): """ 标准化缩放 """ std = StandardScaler() data = std.fit_transform([[1., -1., 3.], [2., 4., 2.], [4., 6., -1.]]) print(std.with_mean) print(std.with_std) print(data) if __name__ == '__main__': stand() """ 结果: True True [[-1.06904497 -1.35873244 0.98058068] [-0.26726124 0.33968311 0.39223227] [ 1.33630621 1.01904933 -1.37281295]] """