通过将属性值按比例缩放,使之落入一个小的特定区间,如0.0~1.0,对属性规范化。对于涉及神经网络或距离度量的分类算法(如最近邻分类)和聚类,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘(见第6章),对于训练元组中量度每个属性的输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性(如income)与具有较小初始值域的属性(如二元属性)相比权重过大。有许多数据规范化的方法,我们将学习三种:最小-最大规范化、z-score规范化和按小数定标规范化。

最小-最大规范化对原始数据进行线性变换。假定minA和maxA分别为属性A的最小值和最大值。最小-最大规范化通过计算


 

将A的值v映射到区间[new_minA, new_maxA]中的v'。

最小-最大规范化保持原始数据值之间的联系。如果今后的输入落在A的原始数据值域之

外,该方法将面临“越界”错误。

例2-2 最小-最大规范化。假定属性income的最小与最大值分别为12 000美元和98 000美

元。我们想把income映射到区间[0.0, 0.1]。根据最小最大规范化,income值73 600美元将变换

为:

python最小最大规范化零均值规范化_数据结构

在z-score规范化(或零均值规范化)中,属性A的值基于A的均值和标准差规范化。A的
值v规范化为v',由下式计算:

python最小最大规范化零均值规范化_python最小最大规范化零均值规范化_02

 

其中,A 和σA分别为属性A的均值和标准差。当属性A的实际最大和最小值未知,或离群点左

右了最大-最小规范化时,该方法是有用的。

例2-3 z-score规范化。假定属性income的均值和标准差分别为54 000美元和16 000美元。

使用z-score规范化,值73 600美元转换为

python最小最大规范化零均值规范化_mina_03

 

小数定标规范化通过移动属性A的小数点位置进行规范化。小数点的移动位数依赖于A的
最大绝对值。A的值v规范化为v',由下式计算:

python最小最大规范化零均值规范化_python最小最大规范化零均值规范化_04

是使得Max(| v' |) < 1的最小整数。

例2-4 小数定标。假定A的取值由-986~917。A的最大绝对值为986。使用小数定标规范化,用1 000(即j = 3)除每个值,这样,-986规范化为-0.986,而917被规范化为0.917。

注意,规范化将原来的数据改变,特别是上面的后两种方法。有必要保留规范化参数(如均值和标准差,如果使用z-score规范化),以便将来的数据可以用一致的方式规范化。

属性构造是由给定的属性构造和添加新的属性,帮助提高准确率和对高维数据结构的理解。例如,我们可能希望根据属性height和width添加属性area。通过组合属性,属性构造可在机器学习界,属性构造称作特征构造。

以发现关于数据属性间联系的丢失信息,这对知识发现是有用的。