一、数据标准化的意义:
1、数据的量纲不同;数量级差别很大
经过标准化处理后,原始数据转化为无量纲化指标测评值,各指标值处于同一数量级别,可进行综合测评分析。
如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用。
2、避免数值问题:太大的数会引发数值问题。
3、平衡各特征的贡献
一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。
如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。
4、一些模型求解的需要:加快了梯度下降求最优解的速度
二、方法
归一化:
1)把数据变成(0,1)或者(1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。
2)把有量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较和加权。归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。
常用方法:
(1)Min-Max Normalization
x' = (x - X_min) / (X_max - X_min)
(2)平均归一化
x' = (x - μ) / (MaxValue - MinValue)
(1)和(2)有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
(3)非线性归一化
1)对数函数转换:y = log10(x)
2)反余切函数转换:y = atan(x) * 2 / π
(3)经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。