由于所用的度量单位可能影响数据分析,为了避免对度量单位的依赖性,数据应该规范化或标准化。这涉及变换数
据,是指落入较小的公共区间,如[-1,1]或者[0.0,1.0]。数据规范化视图赋予所有属性相等的权重,对于涉及到神经网
络的分类算法或基于距离度量的分类(如最近邻分类)和聚类,规范化特别有用。
下面介绍三种规范化的方法:令A 是数值属性,具有N个观测值v1,v2,v3,v4,……,vn。
1:最小-最大规范化
定义:通过对原始数据进行线性变换。假设min a 和max a分别是属性A的最小值和最大值,最小-最大规范化通过计算
=
例子:设属性income 的最小值和最大值分别为12000和98000,将之映射到区间[0.0,1.0]根据最小-最大规范化,income值73600将变换为 。
局限性:最小-最大规范化保持原始数据值之间的联系,但是如果输入实例落在A的元数据值域之外,则间面临“越
界”错误
2:Z分数(z-score)规范化(或零均值规范化)
定义:属性的值基于A的均值(即平均值)和标准差规范化。A的值被规范化为,有下面公式计算
其中,和分别为属性A的均值和标准差。
当属性A的实际最小值和最大值未知,或离群点左右了最小-最大规范化时,该方法是有效的。
例子: 设属性income的均值和标准差分别为54 000 和16 000。使用Z分数规范化,值为73 600被转化为
其中,在z-score公式中的标准差可以用绝对偏差替换。A的均值绝对偏差
即
对于离群点,均值绝对偏差比标准差更好,在计算均值绝对偏差时,不对到均值的偏差(即)取平方,因此离群点的
影响多少有点降低。
3:小数定标
定义:通过移动属性A的值的小数点未知进行规范化。小数点的移动位数依赖于A的最大绝对值。A的值被规范为,由
下式计算:
其中,j是使得max()<1的最小整数。
例子:设A的取值由-968 到917。A的最大绝对值为986。因此,我们使j=3。而-986变为-0.986。