数据归一化和两种常用的归一化方法
数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。数据的规范化的作用主要有两个:去掉量纲,使得指标之间具有可比性;将数据限制到一定区间,使得运算更为便捷。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:
1. min-max标准化(Min-Max Normalization)
也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 – 1]之间。转换函数如下:
x = (x−min)/(max−min)
其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
2. Z-score标准化方法
这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:
x = (x−μ)/σ
其中 μ为所有样本数据的均值,σ为所有样本数据的标准差。
3. Z-scores 简单化
模型如下:
x = 1/(1+x)
x越大证明x越小,这样就可以把很大的数规范在[0 - 1]之间了。在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维、涉及到正态分布的时候使用该方法较好。
4. 对数变换
在实际工程中,经常会有类似点击次数/浏览次数的特征,这类特征是长尾分布的,可以将其用对数函数进行压缩。特别的,在特征相除时,可以用对数压缩之后的特征相减得到。对数规范化的常见形式是: 。
5. 小数定标
小数定标主要是对单位的换算和进制的转换,使得数据得到一定的简化与压缩。
6. 三角函数
三角函数的值在[0, 1]之间,如果有需要,可以用三角函数进行变换。
7. sigmoid函数
sigmoid函数,也称S型函数,可以对数据进行有效的压缩。特别的,S型函数在逻辑回归中起着决定性作用。
总结
以上1,2方法都需要依赖样本所有数据,而3方法只依赖当前数据,可以动态使用,好理解。