数据预处理是数据挖掘过程中的一个重要步骤,尤其是在对包含有噪声、不完整,甚至是不一致数据进行数据挖掘时,更需要进行数据的预处理,以提高数据挖掘对象的质量,并最终达到提高数据挖掘所获模式知识质量的
目的。数据预处理一般包括以下几个步骤:
数据清洗:清除数据噪声和与挖掘主题明显无关的数据
数据集成:将来自多数据源中的相关数据组合到一起
数据转换:将数据转换为易于进行数据挖掘的数据存储形式
数据消减:缩小所挖掘数据的规模,但却不会影响(或基本不影响)最终的挖掘结果
数据清洗
1、数据缺失处理:
(1) 忽略元组:忽略该条记录。
(2) 人工填写缺失值。
(3) 全局变量填充:对一个属性的所有遗漏的值均利用一个事先确
定好的值来填补。
(4) 均值填充:计算一个属性(值)的平均值,并用此值填补该
属性所有遗漏的值。
(5) 同类样本均值属性填充。
(6) 使用回归、贝叶斯等决策树归纳决定。
2、噪声数据处理
(1) 分箱(bin方法): 等深、平均值、边界值。
(2) 回归:可以利用拟合函数对数据进行平滑。
(3) 聚类:通过聚类分析可帮助发现异常数据。
(4)人机结合检查方法:通过人与计算机检查相结合方法,可以帮助发现异
常数据。
数据集成
在数据集成过程中,需要考虑解决以下几个问题:
(1)模式集成:如何使来自多个数据源的现实世界的实体相互匹配。
(2)冗余问题:数据集成中经常发生的这个问题。若一个属性可以从其它属性中推演出来,那这个属性就是冗余属性。
(3)数据值冲突检测与消除。
数据转换
数据转换就是将数据转换或归并已构成一个适合数据挖掘的描述形式。数据转换包含以下处理内容:
(1)平滑处理。帮助除去数据中的噪声,主要技术方法有: 方法、聚类方法和回归方法。
(2)合计处理。对数据进行总结或合计操作。
(3)数据泛化处理。所谓泛化处理就是用更抽象(更高层次)的概念来取代低层次或数据层的数据对象。例如年龄属性,就可以映射到更高层次概念,如:年轻、中年和老年。
(4)规格化。规格化就是将有关属性数据按比例投射到特定小范围之中。如将工资收入属性值映射到” 到 ” 范围内。
(5)属性构造。根据已有属性集构造新的属性,以帮助数据挖掘过程。
下面介绍几种规格化方法:
1、 最大最小规范化
mA与MA
m
A
与
M
A
为属性A的最小与最大值,映射区间为
new_MA与new_mA
n
e
w
_
M
A
与
n
e
w
_
m
A
,
v
v
为原始数据,
v′
v
′
为映射值。例如某属性的最小值与最大值分别为8000和14000,将其映射到[0.0, 1.0],则属性12600将变为:
2、 零均值规范化
A与σA A 与 σ A 分别为属性 A A 的均值与标准差,例如属性平均家庭总收入的均值与标准差为9000和2400,那么10600元试用零均值规范化转化为:
3、 小数定标规范化
其中, j j 是使得Max(|v’|)<1的最小整数,例:假定A的取值为-975~923,A的绝对值最大为975,使用小数定标规范化,用1000(即j=3)除以每个值,-975规范为-0.975,923规范为0.923。
4、 属性构造
根据已有的属性构造和添加新的属性,以帮助挖掘更深层次的模式知识。例如知道长和宽属性,可以构造面积属性。
数据消减
对大规模数据库内容进行复杂的数据分析通常需要耗费大量的时间,这就常常使得这样的分析变得不现实和不可行,所以就需要将数据压缩,数据压缩的方法一般有下面几种方法:
(1)数据立方合计:主要用于构造数据立方
(2)维数消减:主要用于检测和消除无关、弱相关、或冗余的属性或维
(3)数据压缩:利用编码技术压缩数据集的大小。
(4)数据块消减:利用更简单的数据表达形式,如:参数模型、非参数模型(聚类、采样、直方图等),来取代原有的数据。