数据预处理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据预处理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 预处理 课件
- 资源描述:
-
1、数据挖掘原理与数据挖掘原理与SPSS Clementine应用宝典应用宝典 元昌安元昌安 主编主编 邓松李文敬刘海涛编著邓松李文敬刘海涛编著 电子工业出版社电子工业出版社 本章包括:本章包括:数据预处理基本功能数据预处理基本功能 数据预处理的方法数据预处理的方法v数据挖掘是从大量的、不完全的、有噪声的、数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但有潜在的有用信息和知人们事先不知道的、但有潜在的有用信息和知识的过程。识的过程。v数据挖掘:为企业决策者提供重要的、有价值数据挖掘:为企业决策者提供重要的、
2、有价值的信息或知识,从而为企业带来不可估量的经的信息或知识,从而为企业带来不可估量的经济效益。济效益。数据挖掘过程一般包括数据采集、数据预处理、数数据挖掘过程一般包括数据采集、数据预处理、数据挖掘以及知识评价和呈现。据挖掘以及知识评价和呈现。v在一个完整的数据挖掘过程中,数据预处理要花费在一个完整的数据挖掘过程中,数据预处理要花费60%左右的时间,而后的挖掘工作仅占总工作量的左右的时间,而后的挖掘工作仅占总工作量的10%左右。左右。v目前对数据挖掘的研究主要集中于挖掘技术、挖掘目前对数据挖掘的研究主要集中于挖掘技术、挖掘算法、挖掘语言等。算法、挖掘语言等。数据挖掘的必要性:数据挖掘的必要性:v
3、在海量的原始数据中,存在着大量杂乱的、重复在海量的原始数据中,存在着大量杂乱的、重复的、不完整的数据,严重影响到数据挖掘算法的的、不完整的数据,严重影响到数据挖掘算法的执行效率,甚至可能导致挖掘结果的偏差。执行效率,甚至可能导致挖掘结果的偏差。数据预处理分类:数据预处理分类:v从对不同的源数据进行预处理的功能来分,数据预从对不同的源数据进行预处理的功能来分,数据预处理主要包括数据清理、数据集成、数据变换、数处理主要包括数据清理、数据集成、数据变换、数据归约等据归约等4个基本功能。个基本功能。v在实际的数据预处理过程中,在实际的数据预处理过程中,这这4种功能不一定都种功能不一定都用到,而且,它们
4、的使用也没有先后顺序,用到,而且,它们的使用也没有先后顺序,某一种某一种预处理可能先后要多次进行。预处理可能先后要多次进行。v从数据预处理所采用的技术和方法来分:从数据预处理所采用的技术和方法来分:基本粗集理论的简约方法;基本粗集理论的简约方法;复共线性数据预处理方法;复共线性数据预处理方法;基于基于HashHash函数取样的数据预处理方法;函数取样的数据预处理方法;基于遗传算法数据预处理方法;基于遗传算法数据预处理方法;基于神经网络的数据预处理方法;基于神经网络的数据预处理方法;Web Web挖掘的数据预处理方法等等。挖掘的数据预处理方法等等。v在数据挖掘整体过程中在数据挖掘整体过程中,海量
5、的原始数据中存在着海量的原始数据中存在着大量杂乱的、重复的、不完整的数据,严重影响到大量杂乱的、重复的、不完整的数据,严重影响到数据挖掘算法的执行效率,甚至可能导致挖掘结果数据挖掘算法的执行效率,甚至可能导致挖掘结果的偏差。为此,在数据挖掘算法执行之前,必须对的偏差。为此,在数据挖掘算法执行之前,必须对收集到的原始数据进行预处理,以改进数据的质量,收集到的原始数据进行预处理,以改进数据的质量,提高数据挖掘过程的效率、精度和性能。数据预处提高数据挖掘过程的效率、精度和性能。数据预处理主要包括数据清理、数据集成、数据变换与数据理主要包括数据清理、数据集成、数据变换与数据归约等技术。归约等技术。v数
6、据清理要去除源数据集中的噪声数据和无关数据,清理要去除源数据集中的噪声数据和无关数据,处理遗漏数据和清洗脏数据、空缺值,处理遗漏数据和清洗脏数据、空缺值,识别删除孤识别删除孤立点等。立点等。噪声是一个测量变量中的随机错误或偏差,包括噪声是一个测量变量中的随机错误或偏差,包括错误的值或偏离期望的孤立点值错误的值或偏离期望的孤立点值。对于噪声数据。对于噪声数据有如下几种处理方法:有如下几种处理方法:v分箱法分箱法v聚类法识别孤立点聚类法识别孤立点v回归回归 v目前最常用的方法是使用最可能的值填充空缺值目前最常用的方法是使用最可能的值填充空缺值,如用一个全局常量替换空缺值、使用属性的平均值如用一个全
7、局常量替换空缺值、使用属性的平均值填充空缺值或将所有元组按某些属性分类填充空缺值或将所有元组按某些属性分类,然后用然后用同一类中属性的平均值填充空缺值。同一类中属性的平均值填充空缺值。例例5.2:一个公司职员平均工资收入为:一个公司职员平均工资收入为3000元,则使元,则使用该值替换工资中用该值替换工资中“基本工资基本工资”属性中的空缺值。属性中的空缺值。v异构数据源数据库中的数据并不都是正确的,常常异构数据源数据库中的数据并不都是正确的,常常不可避免地存在着不完整、不一致、不精确和重复不可避免地存在着不完整、不一致、不精确和重复的数据,这些数据统称为的数据,这些数据统称为“脏数据脏数据”。脏
8、数据能使。脏数据能使挖掘过程陷入混乱,导致不可靠的输出。挖掘过程陷入混乱,导致不可靠的输出。清洗脏数据可采用下面的方式:清洗脏数据可采用下面的方式:在数据集成时,来自多个数据源的现实世界的实体在数据集成时,来自多个数据源的现实世界的实体有时并不一定是匹配的,例如:数据分析者如何才有时并不一定是匹配的,例如:数据分析者如何才能确信一个数据库中的能确信一个数据库中的student_idstudent_id和另一个数据库和另一个数据库中的中的stu_idstu_id 值是同一个实体。通常,可根据数据值是同一个实体。通常,可根据数据库或数据仓库的元数据来区分模式集成中的错误。库或数据仓库的元数据来区分
9、模式集成中的错误。v数据集成往往导致数据冗余,如同一属性多次出现、数据集成往往导致数据冗余,如同一属性多次出现、同一属性命名不一致等,对于属性间冗余可以用相同一属性命名不一致等,对于属性间冗余可以用相关分析检测到,然后删除。关分析检测到,然后删除。v对于现实世界的同一实体,来自不同数据源的属性对于现实世界的同一实体,来自不同数据源的属性值可能不同。这可能是因为表示、比例或编码、数值可能不同。这可能是因为表示、比例或编码、数据类型、单位不统一、字段长度不同。据类型、单位不统一、字段长度不同。v数据变换主要是找到数据的特征表示,用维变换或数据变换主要是找到数据的特征表示,用维变换或转换方法减少有效
10、变量的数目或找到数据的不变式,转换方法减少有效变量的数目或找到数据的不变式,包括规格化、归约、切换、旋转和投影等操作。包括规格化、归约、切换、旋转和投影等操作。v规格化是指将元组集按规格化条件进行合并,也就规格化是指将元组集按规格化条件进行合并,也就是属性值量纲的归一化处理。是属性值量纲的归一化处理。v规格化条件定义了属性的多个取值到给定虚拟值的规格化条件定义了属性的多个取值到给定虚拟值的对应关系。对于不同的数值属性特点,一般可以分对应关系。对于不同的数值属性特点,一般可以分为取值连续和取值分散的数值属性规格化问题。为取值连续和取值分散的数值属性规格化问题。v归约指将元组按语义层次结构合并。语
11、义层次结构归约指将元组按语义层次结构合并。语义层次结构定义了元组属性值之间的语义关系。规格化和归约定义了元组属性值之间的语义关系。规格化和归约能大量减少元组个数,提高计算效率。同时,规格能大量减少元组个数,提高计算效率。同时,规格化和归约过程提高了知识发现的起点,使得一个算化和归约过程提高了知识发现的起点,使得一个算法能够发现多层次的知识,适应不同应用的需要。法能够发现多层次的知识,适应不同应用的需要。v数据归约是将数据库中的海量数据进行归约,归约数据归约是将数据库中的海量数据进行归约,归约之后的数据仍接近于保持原数据的完整性,但数据之后的数据仍接近于保持原数据的完整性,但数据量相对小得多,这
12、样进行数据挖掘的性能和效率会量相对小得多,这样进行数据挖掘的性能和效率会得到很大提高。得到很大提高。v数据归约的策略主要有数据立方体聚集、维归约、数据归约的策略主要有数据立方体聚集、维归约、数据压缩、数值压缩、离散化和概念分层。数据压缩、数值压缩、离散化和概念分层。v数据压缩分为无损压缩和有损压缩,比较流行和有效的有损数据压缩方法是小波变换和主要成分分析。v小波变换对于稀疏或倾斜数据以及具有有序属性的数据有很好的压缩结果。v数值归约通过选择替代的、较小的数据表示形式来减少数据量。v数值归约技术可以是有参的,也可以是无参的。有参方法是使用一个模型来评估数据,只需存放参数,而不需要存放实际数据。v
13、有参的数值归约技术有以下两种,回归:线性回归和多元回归;对数线性模型:近似离散属性集中的多维概率分布。v无参的数值归约技术有3种:p直方图直方图p聚类聚类p选样选样v概念分层通过收集并用较高层的概念替换较低层的概念来定义数值属性的一个离散化。v概念分层可以用来归约数据,通过这种概化尽管细节丢失了,但概化后的数据更有意义、更容易理解,并且所需的空间比原数据少。v对于数值属性,由于数据的可能取值范围的多样性和数据值的更新频繁,说明概念分层是困难的。数值属性的概念分层可以根据数据的分布分析自动地构造,如用分箱、直方图分析、聚类分析、基于熵的离散化和自然划分分段等技术生成数值概念分层。v由用户专家在模
14、式级显示地说明属性的部分序或全序,从而获得概念的分层;v只说明属性集,但不说明它们的偏序,由系统根据每个属性不同值的个数产生属性序,自动构造有意义的概念分层。v数据预处理方法就是根据不同的挖掘问题采用相应的理论和技术,实现数据清理、数据集成、数据变换、数据归约等基本功能。v预处理方法很多,在此介绍常用的几种方法。v粗糙集理论是一种研究不精确、不确定性知识粗糙集理论是一种研究不精确、不确定性知识的数学工具,可以对数据属性进行十分有效的精简,的数学工具,可以对数据属性进行十分有效的精简,求出最小约简集,是数据预处理一种有效的方法。求出最小约简集,是数据预处理一种有效的方法。v数据一般存在信息的含糊
15、性问题。数据一般存在信息的含糊性问题。v粗糙集理论的最大特点是无需提供问题所需粗糙集理论的最大特点是无需提供问题所需处理的数据集合之外的任何先验信息。处理的数据集合之外的任何先验信息。v粗糙集理论的基本思路是利用定义在数据集粗糙集理论的基本思路是利用定义在数据集合合U上的等价关系对上的等价关系对U进行划分,对于数据表进行划分,对于数据表来说,这种等价关系可以是某个属性,或者来说,这种等价关系可以是某个属性,或者是几个属性的集合。因此按照不同属性的组是几个属性的集合。因此按照不同属性的组合就把数据表划分成不同的基本类,在这些合就把数据表划分成不同的基本类,在这些基本类的基础上进一步求得最小约简集
16、。基本类的基础上进一步求得最小约简集。v例如:表例如:表5.1优秀人才决策表给出了某部门的员工数据记录集,通优秀人才决策表给出了某部门的员工数据记录集,通过对员工的政治表现、工作能力、科研能力等确定优秀人才人选。过对员工的政治表现、工作能力、科研能力等确定优秀人才人选。论域论域U 条件属性(C)决策属性 政治表现(政治表现(C1)工作能力工作能力(C2)科研能力科研能力(C3)优秀人才(优秀人才(D)e1优秀强强是e2良好一般一般否e3一般差差否e4一般一般一般否e5良好强一般否e6优秀强强是其中:条件属性集为其中:条件属性集为C政治表现,工作能力,科研能力政治表现,工作能力,科研能力,决策属
17、性集为,决策属性集为D优秀人才优秀人才。v根据粗糙集理论对表5.1进行离散化后再进行数据预处理。v处理过程分两个步骤进行,一是对决策表条件属性集进行约简求核;二是对条件属性值进行约简。具体求解步骤可见第11章相关内容。v基于粗糙集理论的数据预处理具有优点基于粗糙集理论的数据预处理具有优点:v第一,数据挖掘的对象一般都是通过观测、试验、调查得到的数据,通过观测、试验、调查等得到的数据存在着冗余、杂乱、不完整等因素,采用粗糙集理论进行数据预处理,不需要预先知道额外的信息,有利于集中精力解决问题;v第二,算法简单。对于给定的决策表,预处理过程所使用的算法可以是分辨矩阵或逐个属性、逐条规则进行检验,算
18、法简单,易于计算机的实现,方便挖掘系统的自动操作;v第三,可以有效地去除冗余的属性或属性的值。v常规方法进行函数发现时一般要作出一个假设:数据满足统计不相关。而传统的函数发现算法中,常常忽略对数据是否满足该假设的检验。若数据不满足统计不相关的假设(也称数据变量之间存在复共线性),在这种情况下,函数发现算法挖掘出来的函数关系表达式可能会存在系统误差,该表达式将不是我们要发现的理想函数。v为解决该问题,本节给出复共线性的概念,然后给出不满足不相关假设的情况下进行数据预处理的算法MDPA(Multicollinearity Data Preprocessing Algorithm复共线性数据预处理算
19、法)。v假定给定的样本数据为Y、X,其中因变量样本数据矩阵Y=(y1,y2,yn)是pn样本矩阵,即p个因变量,n个样本;自变量样本数据矩阵X是qn矩阵,即q个自变量,n个样本。在实际计算时,X一般是将原始数据中心化后得到的样本矩阵,即:X1n0。v在一般的函数发现算法中,自变量样本数据矩阵X需要数据满足统计不相关假设,也即X各行之间不能存在线性关系。而实际上,只要矩阵X的行向量之间存在近似线性关系时,函数发现算法就有可能达不到实用的效果。为此,下面我们给出复共线性的定义,并对满足这一定义的数据给出数据预处理的算法(MDPA)。v定义定义5.1(复共线性)复共线性)给定矩阵X,设X为X的转置矩
20、阵,设矩阵(XX)nn的特征根为1,2,n,若对预设的正数,00.1,有max(i,i=1,n)/min(i,i=1,n)1/,则称矩阵X满足复共线性。v复共线性描述了最大特征根和最小特征根之间的差距,当足够小时,XX至少有一个特征根接近于0,这时,X的行向量之间存在着近似的线性关系,从而描述了数据之间的相关程度。v用于控制X各行向量之间的相关程度,当其线性关系达到用户指定的程度,那么,该组数据在进行函数发现之前应该进行转换预处理。v本小节主要讨论存在着复共线性的数据矩阵X数据预处理的方法。v算法思路:为消除数据的复共线性使数据满足统计不相关假设,需对矩阵X作主成分分析,计算出主向量矩阵Z,矩
21、阵Z的各行向量之间是满足统计不相关假设的。于是,在后继的函数发现算法中,将挖掘Y与Z的关系,然后再利用X与Z的关系,得到Y与X之间的关系表达式。v下面的复共线性数据预处理算法描述了存在复共线性数据的转换方法。v算法算法5-1MDPA(Multicollinearity Data Preprocessing Algorithm)v输入:输入:qn矩阵 X,控制值v输出:输出:Z(转换后消除复共线性的数据矩阵)v步骤:步骤:vBeginvStep1计算XX的特征值1,2,q,并按从大到小顺序排序;vStep2 判断数据矩阵X具有复共线性。vEnd.v算法的伪代码如下:vEC(X)/计算XX的特征值
22、1,2,q,并按从大到小顺序排序;vIF1/q1/数据矩阵X具有复共线性v PCMC(Xqn,1,2,q,t)/主分量矩阵计算vELSEv Z=X;vENDIFv算法3-1的计算代价主要在第1行计算特征值过程和第3行主分量矩阵计算过程,分别由下面的算法5-2和算法5-3实现。v算法算法5-2EC(Eigenvalue Compute特征值计算子程序特征值计算子程序)v输入:输入:qn矩阵 Xv输出:输出:特征值1,2,q,并按从大到小顺序排序和特征向量矩阵Eigenvalue(q,q)v步骤:步骤:vBeginvStep1计算相关系数矩阵CorMatrix(q,q);vStep2 利用雅可比法
23、计算矩阵CorMatrix(q,q)的特征值;vStep3 判断上三角元素是否全部满足设定值;vStep4 将特征值、特征向量按照特征值的大小进行排序得到特征值向量lptq和特征向量矩阵EigenVectorq,q。vEnd.v算法的伪代码如下:vBeginv计算相关系数矩阵CorMatrix(q,q);v利用雅可比法计算矩阵CorMatrix(q,q)的特征值;vEigenvaluei,j=CorMatrixi,j,(i,j=1,2,q);vl=0;/定义计数变量vwhile(l(q*(q-1)/2)/判断上三角元素是否全部满足设定值,满足跳出循环,否则继续循环v l=0;v求在Eigenv
24、alueq,q矩阵上三角元素中的最大值及其位置pos1,pos2v根据pos1,pos2进行一轮特征值、特征向量的计算vif(abs(Eigenvalue i,j),(i=0,1,q,j=i+1,q)/判断上三角元素是否满足条件vl+;/满足计数器l加1vvLpti=Eigenvaluei,i;(i=1,2,q);/将特征值放入一维数组中v将特征值、特征向量按照特征值的大小进行排序得到特征值向量lptq和特征向量矩阵EigenVectorq,qvEnd.v说明:说明:v算法中把特征值存放在Lpt数组,特征向量存放在Eigenvalue数组中。v一般qn,所以算法的主要计算代价在第一步计算相关系
25、数矩阵中,计算量为q*n=O(n)v下面的算法描述了主分量矩阵的计算过程。v算法算法5-3PCMC(Principle Component Matrix Compute主分量矩阵计算子程序主分量矩阵计算子程序)v输入:输入:矩阵Xqn,1,2,q,特征向量矩阵EigenVectorq,q,t(t=1为确定主分量个数时所需特征值之和对总和贡献率的临界值)v输出:输出:所需主分量矩阵Zknv步骤:步骤:v BeginvStep1计算所需主分量个数k;vStep2根据特征向量矩阵Eigenvalue(q,q)计算出所需特征向量矩阵Pkq;vStep3计算主分量矩阵Zkn(=PX)。vEnd.v算法的
展开阅读全文