数据预处理(Data Preprocessing)是指对数据进行数据挖掘之前,先对原始数据进行必要的清洗、集成、转换、离散、规约、特征选择和提取等一系列处理工作,达到数据挖掘算法进行知识获取研究所要求的最低规范和标准[1]。数据预处理是数据挖掘的重要一环,要使挖掘方案挖掘出丰富的知识,就必须为它提供干净、准确、简洁的数据。然而实际应用系统中收集到的原始数据是“脏”的、不完全的、冗余的和模糊的,很少能直接满足数据挖掘算法的要求。在海量的实际数据中无意义的成分也很多,严重影响了数据挖掘算法的执行效率,其中的噪声干扰还会造成无效的归纳。数据预处理已经成为数据挖掘系统实现过程中的关键问题。
数据通常存在以下几方面的问题:
(1)杂乱性。杂乱性也叫不一致性。当原始数据是从各个实际应用系统中获取时(多种数据库、多种文件系统),由于各应用系统中的数据缺乏统一标准和定义,数据结构也有较大的差异。杂乱数据也可能是由命名约定或所用的数据代码不一致或输入字段的格式不一致而导致。因此各系统间的数据存在较大的不一致性,往往不能直接拿来使用。
(2)重复性。重复性是指对于同一个客观事物在数据库中存在其两个或两个以上完全相同的物理描述。由于应用系统实际使用中存在的一些问题,几乎所有应用系统中都存在数据的重复和信息的冗余现象。
(3)不完整性。不完整性指的是数据记录中可能会出现有些数据特征的值丢失或不确定的情况,还有可能缺失必需的数据。这是由于实际系统设计时存在的缺陷以及一些使用过程中人为因素所造成的。例如有些数据缺失只是因为输入时认为不是重要的,相关数据没有记录可能是由于理解错误,或者因为与其他记录不一致的数据可能已经删除,历史记录或修改的数据可能被忽略等。(www.xing528.com)
(4)噪声。数据具有噪声也即数据不正确。噪声指的是数据具有不正确的特征值,包括错误或者偏离均值的离群值。可能的原因主要有:收集数据的设备可能出现故障、人为或计算机导致的数据输入错误、数据传输导致的错误或当用户不希望提交个人信息时可能故意向强制输入字段输入不正确的值(例如,为出生日期选择默认值“1月1日”)等。实际使用的系统中,存在大量的模糊信息,有些数据设置还具有一定的随机性质。
一个完整的数据挖掘系统必须包含数据预处理模块。它以发现任务作为目标,以领域知识作为指导,用全新的“业务模型”来组织原来的业务数据,摈弃一些与挖掘目标不相关的特征,为数据挖掘内核算法提供干净、准确、更有针对性的数据,从而减少数据挖掘内核的数据处理量,提高了数据挖掘效率,提高了知识发现的起点和知识的准确度。
数据预处理一方面是要提高数据的质量,另一方面是要让数据更好地适应特定的挖掘技术或工具。统计发现,在数据挖掘过程中,数据预处理工作量占到了整个数据挖掘项目总工作量的60%[2]。数据预处理的主要内容包括数据清洗、数据集成、数据变换、数据规约、特征选择、特征提取等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。