归一化其实就是把数据scale缩小到一定范围内,就像概率中相关系数是协方差的归一化结果。
对定性型特征采用one-hot,对定量型特征采用归一化。最终结果使所有特征值均保持在-1~1或0~1间。
归一化是为了消除特征间由于量纲不同而导致结果的偏差,使数据具有可比性。
归一化常用方法:
1. Min-Max Scaling 在0~1之间
y=(x-min)/(max-min) 类似均匀分布的累计分布函数
2. Z-Score Scaling 在-1~1之间
(x-mean)/std 正态分布z值,服从正态分布
1. 通过sklearn.preprocessing.MinMaxScaler()实现
2. 可通过两种方法实现:
a. 通过sklearn.preprocessing.scale()
b. 通过sklearn.preprocessing.StandardScaler()
目前发现二者的区别是a是方法,b是类,b中包含了求均值和方差的方法。
b按列标准化,(x-列均值)/列方差,a可以根据行或列进行标准化,axis=0 按feature,即列,详见http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.scale.html
通常均用列,所以二者使用上没有什么本质区别。