首页 > 代码库 > 数据预处理
数据预处理
数据挖掘是从大量的,不完全的,有噪声的,模糊的,随即的数据中,提取隐含在其中的,人们事先不知道的,但有潜在的有用信息和知识的过程。
数据挖掘过程一般包括数据采集,数据预处理,数据挖掘以及知识评价和呈现。
在一个完整的数据挖掘过程中,数据预处理要花费60%左右的时间,而后的挖掘工作仅仅占工工作量的10%左右。
目前对挖掘的研究主要集中于挖掘技术,挖掘算法,挖掘语言等
在海量的原始数据中,存在这大量杂乱的,重复则,不完整的数据,严重影响到数据挖掘算法的执行效率,有可能导致挖掘结果的偏差。
数据预处理分类:
从对不同的源数据进行预处理的功能来分,数据预处理主要包括数据清理,数据集成,数据变换,数据规约等4个基本的功能。
早实际的数据预处理过程中,这4中功能不一定都用得到,而且,他们的使用也没有先后顺序,某种预处理可能先后要多次进行。
从数据预处理所采用的技术和方法来分:
基本粗集理论的简约方法;复共线性数据预处理方法;基于Hash函数取样的数据预处理方法;基于遗传算法数据预处理方法;基于神经网络的数据预处理方法;Web挖掘的数据预处理方法等等。
在数据挖掘整体过程中,海量的原始数据中存在这大量复杂的,重复的,不完整的数据,严重影响到数据挖掘算法的执行效率,甚至可能导致挖掘结果的偏差,为此,在数据挖掘算法执行之前,必须对收集到的原始数据进行预处理,以改进数据的质量,提高数据挖掘过程的效率,精度,性能。数据预处理主要包括数据清理,数据集成,数据变换与数据规约等技术。
1)数据清理
数据清理要去除源数据集中的噪声数据和无关数据,处理遗漏数据和清洗脏数据,空缺值,识别删除孤立点等。
(1.1)噪声:噪声是一个测量变量中的随即错误和偏差,包括错误的值或偏离期望的孤立点值,对于噪声数据有如下几种处理方法:分箱法,聚类法识别孤立点,回归
(1.2)空缺值的处理:目前最常用的方法是使用最肯呢个的值填充空缺值,如用一个全局常量替换空缺值,使用属性的平均值填充空缺值或将所有元组按照某些属性分类,然后用同一类中属性的平均值填充空缺值。例5.2:一个公司职员平均工资收入为3000元,则使用该值替换工资中“基本工资”属性中的空缺值。
(1.3)清洗脏数据:异构数据源数据库中的数据并不都是正确的,常常不可避免的存在着不完整,不一致,不精确和重复的数据,这些数据统称为“脏数据”,脏数据能使挖掘过程陷入混乱,导致不可靠的输出。清洗脏数据可采用下面的方式:1手工实现方式,2用专门编写的应用程序,3采用概率统计学远离查找数值异常的记录,4对重复记录的检测和删除
2)数据集成
(2.1) 实体识别问题:在数据集成时候,来自多个数据源的现实世界的实体有时并不一定是匹配的,例如:数据分析者如何才能确信一个数据库中的student_id和另一个数据库中的stu_id值是同一个实体,通常,可以根据数据库或者数据仓库的元数据来区分模式集成中的错误。
(2.2)冗余问题:数据集成往往导致数据冗余,如同一属性多次出现,统一属性命名不一致等,对于属性间冗余可以用先关分析检测到,然后删除。
数据值冲突检测与处理:对于现实世界的同一实体,来自不同数据源的属性值可能不同,这可能是因为表示、比例、或编码、数据类型、单位不统一、字段长度不同。
3) 数据变换
数据变换主要是找到数据的特征表示,用维变换或转换方法减少有效变量的数目或找到数据的不变式,包括规格化,规约,却换,旋转,投影等操作。
规格化是指将元组集按照规格化条件进行合并,也就是属性值量纲的归一化处理。规格化定义了属性的多个取值到给定虚拟值的对应关系,对于不同的数值属性特点,一般可以分为取值连续和取值分散的数值属性规格化问题。
4)规约:是指将元祖按语义层次结构合并,语义层次结构定义了元组属性值之间的语义关系,规约化和规约能大量减少元组个数,提高计算效率,同时,规格化和规约过程提高了知识发现的起点,使得一个算法能够发现多层次的知识,适应不同应用的需要。
数据规约是将数据库中的海量数据进行规约,规约之后的数据仍接近于保持原数据的完整性,但数据量相对小的多,这样进行挖掘的性能和效率会得到很大的提高。
数据规约的策略主要有数据立方体聚集,维规约,数据压缩,数值压缩,离散化和概念分层。
(4.1)维规约:通过删除不相关的属性(或纬)减少数据量,不仅仅压缩了数据集,还减少了出现在发现模式上的属性数目,通常采用属性子集选择方法找出最小属性集,使得数据类的概率分布尽可能的接近使用所有属性的原分布
(4.2)数据压缩,数据压缩分为无损压缩和有损压缩,比较流行和有效的有损数据压缩方法是小波变换和主要成分分析,小波变换对于稀疏或倾斜数据以及具有有序属性的数据有很好的压缩效果。
(4.3)数值规约:数值归约通过选择替代的、较小的数据表示形式来减少数据量。数值归约技术可以是有参的,也可以是无参的。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。有参的数值归约技术有以下两种,回归:线性回归和多元回归;对数线性模型:近似离散属性集中的多维概率分布。无参的数值归约技术有3种:直方图,聚类,选样
(4.4)概念分层通过收集并用较高层的概念替换较低层的概念来定义数值属性的一个离散化。概念分层可以用来归约数据,通过这种概化尽管细节丢失了,但概化后的数据更有意义、更容易理解,并且所需的空间比原数据少。对于数值属性,由于数据的可能取值范围的多样性和数据值的更新频繁,说明概念分层是困难的。数值属性的概念分层可以根据数据的分布分析自动地构造,如用分箱、直方图分析、聚类分析、基于熵的离散化和自然划分分段等技术生成数值概念分层。由用户专家在模式级显示地说明属性的部分序或全序,从而获得概念的分层;只说明属性集,但不说明它们的偏序,由系统根据每个属性不同值的个数产生属性序,自动构造有意义的概念分层。
数据预处理的方法:
预处理方法很多,在此介绍常用的几种方法。
(1)基于粗集理论的简约方法:粗糙集理论是一种研究不精确、不确定性知识的数学工具,可以对数据属性进行十分有效的精简,求出最小约简集,是数据预处理一种有效的方法。数据一般存在信息的含糊性问题。粗糙集理论的最大特点是无需提供问题所需处理的数据集合之外的任何先验信息。
论域 U | 条件属性(C) | 决策属性 | ||
政治表现(C1) | 工作能力(C2) | 科研能力(C3) | 优秀人才(D) | |
e1 | 优秀 | 强 | 强 | 是 |
e2 | 良好 | 一般 | 一般 | 否 |
e3 | 一般 | 差 | 差 | 否 |
e4 | 一般 | 一般 | 一般 | 否 |
e5 | 良好 | 强 | 一般 | 否 |
e6 | 优秀 | 强 | 强 | 是 |
其中:条件属性集为C={政治表现,工作能力,科研能力},决策属性集为D={优秀人才}。
数据预处理