数据挖掘-数据预处理的必要性及主要任务

数据预处理的必要性及主要任务


1、数据预处理的必要性

数据库极易受噪声、缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异构数据源。低质量的数据导致低质量的数据挖掘。

2、数据预处理技术

(1)数据清理:可以用来清除数据中的噪声,纠正不一致。
(2)数据集成:将数据由多个数据源合并成一个一致的数据存储,如数据仓库。
(3)数据归约:可以通过如狙击、删除冗余特征或聚类来降低数据的规模。
(4)数据变换:可以用来把数据压缩到较小的区间,如0.0到1.0。这可以提高设计距离度量的挖掘算法的准确率和效率。
这些技术不是互相排斥的,可以一起使用。

3.为什么要对数据预处理

数据如果能满足其应用要求,那么它肯定是高质量的。数据质量涉及许多因素,包括准确性、完整性、一致性、时效性、可信性和可解释性
数据质量的三个要素:准确性、完整性和一致性。
不正确、不完整和不一致的数据是现实世界的大型数据库和数据仓库的共同特点。
导致不正确的数据(具有不正确的属性值)可能有多种原因:收集数据的设备可能出现故障;人或计算机的错误可能在数据输入时出现;当用户不希望提交个人信息时,可能故意向强制输入字段输入不正确的值。这成为被掩盖的缺失数据。错误也可能在数据传输中出现。也可能是由命名约定或所用的数据代码不一致,或输入字段的格式不一致而导致的。重复元组也需要数据清理。
不完整数据的出现可能有多种原因。有些感兴趣的属性,如销售事务数据中顾客的信息,并非总是可以得到的。其他数据没有包含在内,可能只是因为输入时认为是不重要的。相关数据没有记录可能是由于理解错误,或者因为设备故障。与其他记录不一致的数据可能已经被删除。此外,历史或修改的数据可能被忽略。缺失的数据,特别是某些属性上缺失值的元组,可能需要推导出来。
时效性(timeliness)也影响数据的质量。
影响数据质量的另外两个因素是可信性和可解释性。可信性(believability)反映有多少数据是用户信赖的,而可解释性(interpretability)反映数据是否容易理解。

4.数据预处理的主要任务

数据清理(data cleaning)例程通过填写缺失的值,光滑噪声数据,识别或删除利群点,并解决不一致性来清理数据。如果用户认为数据是脏的,则他们可能不会相信这些数据上的挖掘结果。此外,脏数据可能使挖掘过程陷入混乱,导致不可靠的输出。尽管大部分挖掘例程都有一些过程用来处理不完整数据或噪声数据,但是他们并非总是鲁棒的(Robust,系统的健壮性)。相反,他们更致力于避免被建模的函数过分拟合数据。因此,一个有用的预处理步骤旨在使用数据清理例程处理你的数据。

分析使用来自多个数据源的数据,涉及集成多个数据库、数据立方体或文件,即数据集成(data integration)。代表同一概念的属性在不同的数据库中可能具有不同的名字,导致不一致性和冗余。命名的不一致还可能出现在属性值中。包含大量冗余数据可能降低知识发现过程的性能或使之陷入混乱。显然,除了数据清理之外,必须采取措施避免数据集成时的冗余。通常,在为数据仓库准备数据时,数据清理和集成将作为预处理步骤进行。还可以再次进行数据清理,检测和删去可能由集成导致的冗余。

在为分析而选取的数据集是巨大的,这肯定会降低数据挖掘过程的速度。数据归约可以降低数据集的规模,而又不损害数据挖掘的结果。数据归约(data reduction)得到数据集的简化表示,它小得多,但能够产生同样的(或几乎同样的)分析结果。数据归约策略包括维归约和数值归约。
在维归约中,使用数据编码方案,以便得到原始数据的简化或“压缩”表示。例子包括数据压缩技术(例如,小波变换和主成分分析),以及属性子集选择(例如,去掉不相关的属性)和属性构造(例如,从原来的属性集导出更有用的小属性集)。
在数值归约中,使用参数模型(例如,回归和对数线性模型)或非参数模型(例如,直方图、聚类、抽样或数据聚集),用较小的表示取代数据。

对于数据挖掘而言,离散化与概念分层产生是强有力的工具,因为它们使得数据的挖掘可以在多个抽象层上进行。规范化、数据离散化和概念分层产生都是某种形式的数据变换(data transformation)。数据变换操作是引导挖掘过程成功的附加的预处理过程。

总之,数据一般是脏的、不完整的和不一致的。数据预处理技术可以改进数据的质量,从而有助于提高其后的挖掘过程的准确率和效率。由于高质量的决策必然依赖于高质量的数据,因此数据预处理是知识发现过程的重要步骤。检测数据异常,尽早的调整数据,并归约待分析的数据,将为决策带来高回报。

你可能感兴趣的:(数据挖掘,数据仓库,数据库,数据分析,人工智能)