您的位置:首页 > 其它

数据归一化的方法总结

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

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

min-max标准化

log函数转换

atan函数转换

z-score标准化

z-score改进版

min-max标准化

这种方法也叫离差标准化, 对原始数据进行线性变化, 使数据落在[0,1][0, 1]之间, 具体的转化函数为:

x∗=x−minmax−min\begin{align}
x^{*} = {x - min \over max - min}
\end{align}

其中max为当前样本数据中, 该属性的最大值, min为最小值.

这种方法处理速度快, 但是, 当有新的数据加入时, max和min发生变化, 需要重新归一化.

log函数转换

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

x∗=log10(x)log10(max)\begin{align}
x^{*} = {log_{10}(x) \over log_{10}(max)}
\end{align}

atan函数转化

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

x∗=atan(x)∗2π\begin{align}
x^{*} = {atan(x) * 2 \over \pi}
\end{align}

这种方法将所有的数据映射到[−1,1][-1, 1]上, 小于0的数据将映射到[−1,0][-1, 0]上.

z-score 标准化

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

x∗=x−μσ\begin{align}
x^{*} = {x - \mu \over \sigma}
\end{align}

其中, μ\mu为样品的均值, σ\sigma为样品的标准差.

改进型 z-score 标准化

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

首先使用中位数代替均值, 使用绝对标准差代替标准差.

绝对标准差的计算公式:

σA=∑i=1m|xi−μ|\begin{align}
\sigma_{A} = \sum ^{m}_{i=1} |x_i - \mu|
\end{align}

其中, μ\mu为样品的均值或者中位数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: