特征处理
归一化Normalization
由于每一组特征数据的量纲是不同的,我们需要先将他们的量纲统一,之后再去训练学习,每一组特征数据的变化对预测结果的影响。
特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间

def MinMaxScaler(feature_range=(0, 1…)):归一化。每个特征缩放到给定范围(默认[0,1])
1 | from sklearn.preprocessing import MinMaxScaler, StandardScaler |
- 归一化的好处:容易更快地通过梯度下降找到最优解
- 归一化的弊端:由于是使用max和min数据进行处理,会很容易受极值的影响,如果max很大,而其他数据很小,那归一化后的其他数据则很接近0
注意:在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
标准化Standardization
z-score 标准化(zero-mean normalization),最常见的标准化方法就是Z标准化,也叫标准差标准化。通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内,不是标准正态分布,只是均值为0,标准差为1的均匀分布

def StandardScaler(…):标准化
1 | from sklearn.preprocessing import MinMaxScaler, StandardScaler |

- 对于归一化来说:如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变
- 对于标准化来说:如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。
注意:在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。