读书笔记 -- 004_数据预处理_数据规范化

概述
所用的度量单位可能影响数据分析。例如,把height的度量单位从米制换成英寸,把weight的度量单位从公斤换成磅,可能导致的结果不一样。一般而言,用较小的单位表示属性将导致该属性具有较大的值域,因此趋向于使这样的属性具有较大的影响或较高的“权重”。为了帮助避免对度量单位选择的依赖性,数据应该规范化或标准化。这涉及到变换数据,使之落入较小的共同区间,如[-1, 1]或[0.0, 1.0]。

规范化数据试图赋予所有的属性相等的权重。对于涉及神经网络的分类算法或基于距离度量的分类(如最近邻分类)和聚类,规范化特别有用。

经常使用的数据规范化的方法有:最小-最大规范化、z分数规范化和按小数定规范化。

1、最小-最大规范化
对原始数据进行线性变换。假设max_A 和 min_A分别为属性A的最小值和最大值。那么规范化通过公式:
这里写图片描述
注意:最小-最大规范化保持原始数据值之间的联系。如果今后的输入数据落在A的原始数据值域之外,则该方法将面临“越界”错误。

2、z分数规范化(或零均值规范化)
这里写图片描述
其中,分子的第二个字母表示A的均值,分母是A的标准差。
注意:当属性A的实际最小值和最大值未知,或离群点左右了最小-最大规范化时,方法是有用的。

上式分母中的标准差可以用均值绝对偏差替换。A的均值绝对偏差(mean absolute deviation)定义为:
这里写图片描述
于是,使用均值绝对差的z分数规范化为:
这里写图片描述
注意:对于离群点,均值绝对偏差比标准差更加鲁棒。在计算绝对值偏差时,不对到均值的偏差(即这里写图片描述)取平方,因此离群点的影响多少有点降低。

3、小数定标规范化
通过移动属性A的值得小数点位置进行规范化。小数点的移动位数依赖于A的最大绝对值。
这里写图片描述
其中,j是使得这里写图片描述的最小整数。

例:假设A的取值由-986到917。那么A的最大为986.因此,为使用小数定标规范化,我们用1000(即j=3)除每个值。因此,-986被规范化为-0.986,而917被规范化为0.917。

注意:规范化可能将原来的数据改变很多,特别是使用z分数规范化或小数定标规范化时尤其如此。还有必要保留规范化参数(如均值和标准差,如果使用z分数规范化的话),以便将来的数据可以用一致的方式规范化

发布了30 篇原创文章 · 获赞 3 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章