数据预处理—标准化归⼀化⽅法(scaler)
数据标准化是数据预处理的重要步骤。
sklearn.preprocessing下包含 StandardScaler, MinMaxScaler, RobustScaler三种数据标准化⽅法。本⽂结合sklearn⽂档,对各个标准化⽅法的应⽤场景以及优缺点加以总结概括。
⾸先,不同类型的机器学习模型对scaling的依赖如下:
Tree-based models doesn’t depend on scaling    vs    Non-tree-based models hugely depend on scaling
⼀、数据标准化/归⼀化的必要性
1.1  提升模型精度
许多机器学习算法的⽬标函数(例如SVM的RBF内核或线性模型的l1和l2正则化)的基础都是假设所有的特征都是零均值并且具有同⼀阶数上的⽅差。如果某个特征的⽅差⽐其他特征⼤⼏个数量级,那么它就会在学习算法中占据主导位置,从⽽影响学习器对其他特征的学习。
例如,在KNN中,我们需要计算待分类点与所有实例点的距离。假设每个实例点(instance)由n个featur
es构成。如果我们选⽤的距离度量为欧式距离,如果数据预先没有经过归⼀化,那么那些绝对值⼤的features在欧式距离计算时会起决定性作⽤。
从经验上说,归⼀化是让不同维度之间的特征在数值上有⼀定⽐较性,可以⼤⼤提⾼分类器的准确性。
1.2 提升收敛速度
对于线性模型来说,数据归⼀化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。
正则化 归一化
上述两个图,前者是没有经过归⼀化的,在梯度下降的过程中,⾛的路径更加的曲折,⽽第⼆个图明显路径更加平缓,收敛速度更快。
对于神经⽹络模型,避免饱和是⼀个需要考虑的因素,通常参数的选择决定于input数据的⼤⼩范围。
⼆、标准化/归⼀化⽅法
2.1 StandardScaler(标准差标准化)
标准化数据通过减去均值然后除以标准差,经过处理后数据符合标准正态分布,即均值为0,标准差为1。转换函数为:
x = (x-mean)/std
适⽤性与优缺点:
(1) 适⽤于数据的分布本⾝服从正态分布的情况
(2) 基本可⽤于有outlier的情况,但是,在计算⽅差和均值的时候outliers仍然会影响计算。
2.2 MinMaxScaler(极差标准化/归⼀化)
将特征缩放到给定的最⼩值和最⼤值之间,也可以将每个特征的最⼤绝对值转换⾄单位⼤⼩。这种⽅法是对原始数据的线性变换,将数据归⼀到[0,1]中间。转换函数为:
x = (x-min)/(max-min)
适⽤性与优缺点:
(1) 当有新数据加⼊时,可能导致max和min的变化,需要重新定义
(2) 对于outlier⾮常敏感,只适⽤于数据在⼀个范围内分布的情况
2.3 RobustScaler(稳健标准化)
当数据包含许多异常值是,使⽤均值和⽅差缩放可能并不是⼀个很好的选择。此时可以使⽤ robust_scale 以及 RobustScaler 对数据的中⼼和范围进⾏更加鲁棒性的估计。
RobustScaler removes the median(中位数) and scales the data according to the quantile range(四分位距离,即排除了outliers)
三、[0, 1] 还是 [-1, 1] ?
假设我们有⼀个只有⼀个hidden layer的多层感知机(MLP)的分类问题。每个hidden unit表⽰⼀个超平⾯,每个超平⾯是⼀个分类边界。参数w(weight)决定超平⾯的⽅向,参数b(bias)决定超平⾯离原点的距离。如果b是⼀些⼩的随机参数(事实上,b确实被初始化为很⼩的随机参数),那么所有的超平⾯都⼏乎穿过原点。所以,如果data没有中⼼化在原点周围,那么这个超平⾯可能没有穿过这些data,也就是说,这些data都在超平⾯的⼀侧。这样的话,局部极⼩点(local minima)很有可能出现。所以,在这种情况下,标准化到[-1, 1]⽐[0, 1]更好。
1、在分类、聚类算法中,需要使⽤距离来度量相似性的时候、或者使⽤PCA技术进⾏降维的时候,Sta
ndardScaler表现更好。
2、在不涉及距离度量、协⽅差计算、数据不符合正态分布的时候,可以使⽤MinMaxScaler。⽐如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
使⽤MinMaxScaler,其协⽅差产⽣了倍数值的缩放,因此这种⽅式⽆法消除量纲对⽅差、协⽅差的影响,对PCA分析影响巨⼤;同时,由于量纲的存在,使⽤不同的量纲、距离的计算结果会不同。⽽在StandardScaler中,新的数据由于对⽅差进⾏了归⼀化,每个维度的量纲其实已经等价了,每个维度都服从均值为0、⽅差1的正态分布,在计算距离的时候,每个维度都是去量纲化的,避免了不同量纲的选取对距离计算产⽣的巨⼤影响。
Reference:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。