数据的归一化处理

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:

  • min-max标准化
  • log函数转换
  • atan函数转换
  • z-score标准化
  • z-score改进版

min-max标准化

这种方法也叫离差标准化, 对原始数据进行线性变化, 使数据落在[0,1]

之间, 具体的转化函数为:

x=xminmaxmin

其中max为当前样本数据中, 该属性的最大值, min为最小值.
这种方法处理速度快, 但是, 当有新的数据加入时, max和min发生变化, 需要重新归一化.

log函数转换

通过以10为底的log函数转化的方法同样可以实现归一化, 具体公式如下:

x=log10(x)log10(max)

atan函数转化

使用反正切函数也可以实现数据的归一化:

x=atan(x)2π

这种方法将所有的数据映射到[1,1]

上, 小于0的数据将映射到 [1,0]

上.

z-score 标准化

这种方法也叫标准差标准化, 经过处理的数据符合标准正态分布, 即均值为0, 标准差为1, 转换函数为:

x=xμσ

其中, μ

为样品的均值, σ

为样品的标准差.

改进型 z-score 标准化

z-score 转化函数中的均值和标准差受离群点影响较大, 因此需要对原有的公式进行改进.
首先使用中位数代替均值, 使用绝对标准差代替标准差.

绝对标准差的计算公式:

σA=i=1m|xiμ|

其中, μ

为样品的均值或者中位数.

猜你喜欢

转载自blog.csdn.net/zw6161080123/article/details/80342765