数据预处理-标准化/归一化

数据预处理-标准化/归一化

  • min-max 标准化
  • Z-score标准化方法
  • 线性函数标准化
  • 小数定标(decimal scaling)标准化
  • 非线性归一化

数据预处理
标准化:将数据按比例缩放,使之落入一个小的特定区间。用于去除数据的单位限制,将其转化为不同单位或量级的指标能够进行比较和加权。
归一化:标准化的一种方式,将数据统一映射到[0,1]区间上。
意义
1.提升模型的收敛速度
2.提升模型的精度

min-max 标准化

也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 – 1]之间。转换函数如下:
x ′ = x − m i n m a x − m i n x'= \frac {x-min}{max-min} x=maxminxmin
其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

Z-score标准化方法

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:
x ′ = x − μ σ x' = \frac{x−μ}{σ} x=σxμ
其中 μ为所有样本数据的均值,σ为所有样本数据的标准差。

线性函数标准化

将数据归一化到[a,b]区间
1.求得Min和Max
2.计算系数 k = ( b − a ) / ( M a x − M i n ) k=(b-a)/(Max-Min) k=(ba)/(MaxMin)
3. Y = a + k ( X − M i n ) Y=a+k(X-Min) Y=a+k(XMin)或: Y = b + k ( X − M a x ) Y=b+k(X-Max) Y=b+k(XMax)

小数定标(decimal scaling)标准化

该方法通过移动数据的小数点位置来进行标准化。小数点移动多少位取决于变量取值中的最大绝对值。将某变量的原始值x使用小数定标标准化到x’的转换函数为:x’=x/(10^j),其中,j是满足使max(|x’|)<1成立的最小整数。假设变量X的值由-986到917,它的最大绝对值为986,为使用小数定标标准化,我们用1000(即,j=3)除以每个值,这样,-986被标准化为-0.986。

非线性归一化

1)对数函数转换:y = log10(x)
2)反余切函数转换:y = atan(x) * 2 / π
3)经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。

你可能感兴趣的:(#,数据预处理,标准化/归一化)