数据预处理方法的研究与一些改进的建议数据预处理的必要性•数据预处理是整个数据挖掘与知识发现过程中的一个重要步骤。•不完整、含噪声的和不一致的数据是现实世界大型数据库或数据仓库的共同特点。•数据的预处理能有效的提高数据质量,节约大量的时间和空间。•一些比较成熟的算法对其处理的数据集合一般有一定的要求。数据预处理的常规方法•1.数据清洗–去掉噪声和无关数据•2.数据集成–将多个数据源中的数据结合起来存放在一个一致的数据存储中•3.数据变换–把原始数据转换成为适合数据挖掘的形式•4.数据归约–主要方法包括:数据立方体聚集,维归约,数据压缩,数值归约,离散化和概念分层等数据清洗——处理空缺值•数据并不总是完整的–在分析一个商场销售数据时,发现有多个记录中的属性值为空,如:顾客的收入属性对于为空的属性值•引起空缺值的原因–设备异常–与其他已有数据不一致而被删除–因为误解而没有被输入的数据–在输入时,有些数据应为得不到重视而没有被输入数据清洗——处理空缺值•空缺值要经过推断而补上–1.忽略该记录–2.去掉属性–3.手工填写空缺值–4.使用默认值–5.使用属性平均值–6.使用同类样本平均值–7.预测最可能的值噪声数据的处理——分箱–分箱:把待处理的数据按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理。–箱子:按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间代表的“箱子”里。–分箱技术需要确定的主要问题:•分箱方法,即如何分箱•数据平滑方法,即如何对每个箱子中的数据进行平滑处理噪声数据的处理——分箱•分箱的方法:分箱前对记录集按目标属性值的大小进行排序。–等深分箱法–等宽分箱法–用户自定义区间–最小熵•例:客户收入属性income排序后的值(人民币元):800100012001500150018002000230025002800300035004000450048005000噪声数据的处理——分箱•等深分箱法(统一权重)–按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱的权重,也称箱子的深度。•设定权重(箱子深度)为4,上述例子分箱后的结果如下。箱1:800100012001500箱2:1500180020002300箱3:2500280030003500箱4:4000450048005000噪声数据的处理——分箱•等宽分箱法(统一区间)–在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。•设定区间范围(箱子宽度)为1000元人民币,分箱后箱1:80010001200150015001800箱2:20002300250028003000箱3:350040004500箱4:48005000噪声数据的处理——分箱•最小熵–使在各区间分组内的记录具有最小的熵。•信息是信号、符号或消息所表示的内容,用以消除对客观事物认识的不确定性•信息量的直观定义:信息量的大小取决于信息内容消除人们认识的“不确定程度”,所消除的不确定程度越大,则所包含的信息量就越大。熵——信息的度量(利用概率来度量)A到1000人的学校去找B。传达室人告诉他,“B是信息管理系”,而管理系有100人。他获得的信息是100/1000=0.1,也就是将可能性空间缩小到原来的1/10.又有人告诉他:B在信息管理与信息系统教研室(10人),则第2个信息的确定性又缩小到原来的100/1000*10/100=10/1000,也就是将可能性的空间缩短到原来的1\100.只要可能性范围缩小了,获得的信息量总是正的。如果为0,获得的信息为○。如果为负,反而扩大了其可能性范围。熵——信息的度量•信息量大小的单位用比特来衡量。1比特的信息量是指含有两个独立均等概率状态的事件所具有的不确定性能被全部消除所需要的信息。•信息量:H(x)=-∑P(Xi)log2P(Xi)i=1,2,3,…,n其中Xi表示第i个状态(共n个状态);P(Xi)代表出现第i个状态时的概率;H(x)为消除不确定性所需的信息量,单位为比特(bit)。•例如:币下落可能有正反两种状态,出现这两种状态的概率都是1/2,即:则,–H(x)=-[P(X1)log2P(X1)+P(X2)log2P(X2)]=-(-0.5-0.5)=1比特。–同理可得,投掷均匀正六面体骰子的H(X)=2.6比特。噪声数据的处理——分箱•用户自定义区间–用户根据需要自定义区间。•用户自定义:如将客户收入划分为1000元以下、1000~2000、2000~3000、3000~4000和4000元以上几组,分箱后箱1:800箱2:100012001500150018002000箱3:2300250028003000箱4:35004000箱5:450048005000噪声数据的处理——聚类•簇:一组数据对象集合。同一簇内的所有对象具有相似性,不同簇间对象具有较大差异性。•聚类:将物理的或抽象对象的集合分组为由不同簇,找出并清除那些落在簇之外的值(孤立点),这些孤立点被视为噪声。•通过聚类分析发现异常数据:相似或相邻近的数据聚合在一起形成了各个聚类集合,而那些位于这些聚类集合之外的数据对象,自然而然就被认为是异常数据。•特点:直接形成簇并对簇进行描述,不需要任何先验知识。噪声数据的处理——聚类噪声数据的处理——回归•回归:发现两个相关的变量之间的变化模式,通过使数据适合一个函数来平滑数据,即利用拟合函数对数据进行平滑。•方法:–线性回归(简单回归):利用直线建模,将一个变量看作另一个变量的线性函数。如:Y=aX+b,其中a、b称为回归系数,可用最小二乘法求得a、b系数。–非线性回归噪声数据的处理——回归xyy=x+1X1Y2Y1’数据集成•数据集成:将多个数据源中的数据整合到一个一致的存储中–1.模式匹配–2.数据冗余–3.数据值冲突数据集成——模式匹配•整合不同数据源中的元数据。•实体识别问题:匹配来自不同数据源的现实世界的实体,比如:A.cust-id=B.customer_no。数据集成——数据冗余•同一属性在不同的数据库中会有不同的字段名。•一个属性可以由另外一个表导出。如:一个顾客数据表中的平均月收入属性,它可以根据月收入属性计算出来。•有些冗余可以被相关分析检测到数据集成——数据值冲突•对于一个现实世界实体,其来自不同数据源的属性值或许不同。•产生的原因:表示的差异、比例尺度不同、或编码的差异等。例如:重量属性在一个系统中采用公制,而在另一个系统中却采用英制。同样价格属性不同地点采用不同货币单位。数据变换——聚集•对数据进行汇总–avg(),count(),sum(),min(),max()…–例如:每天销售额(数据)可以进行合计操作以获得每月或每年的总额。–可以用来构造数据立方体数据变换——数据概化•用更抽象(更高层次)的概念来取代低层次或数据层的数据对象•例如:街道属性,就可以泛化到更高层次的概念,诸如:城市、国家。同样对于数值型的属性,如年龄属性,就可以映射到更高层次概念,如:年轻、中年和老年。数据变换——规范化•将数据按比例进行缩放,使之落入一个特定的区域,以消除数值型属性因大小不一而造成挖掘结果的偏差。如将工资收入属性值映射到[-1.0,1.0]范围内。•方法:(1)最小-最大规范化(2)零-均值规范化(z-score规范化)(3)小数定标规范化最小-最大规范化•已知属性的取值范围,将原取值区间[old_min,old_max]映射到new_min,new_max]•保留了原来数据中存在的关系。但若将来遇到超过目前属性[old_min,old_max]取值范围的数值,将会引起系统出错最小-最大规范化零-均值规范化(z-score规范化)•根据属性A的均值和偏差来对A进行规格化,常用于属性最大值与最小值未知;或使用最大最小规格化方法时会出现异常数据的情况。零-均值规范化(z-score规范化)小数定标规范化•通过移动属性A值的小数位置,将属性A的值映射到[0,1]之间,用小数的科学表示法来达到规格化的目的。•移动的小数位数取决于属性A绝对值的最大值。小数定标规范化数据变换——属性构造•利用已有属性集构造出新的属性,并加入到现有属性集合中以帮助挖掘更深层次的模式知识,提高挖掘结果准确性。•例如:根据宽、高属性,可以构造一个新属性:面积。数据归约的方法1.数据立方体聚集:2.维归约3.数据压缩4.数值归约5.离散化和概念分层生成数据归约——数据立方体聚集•数据立方体基本概念:–数据立方体是数据的多维建模和表示,由维和事实组成。–维——属性–事实——数据•数据立方体聚集定义——将n维数据立方体聚集为n-1维的数据立方体。数据归约——数据立方体聚集2000200120022003天津河北江苏广东体育厨房家装文具年份商品类型省份10425208071720412323247505841170299731542140114015005004销售金额数据归约——数据立方体聚集3600351465201546312440208160147238704966112001460408953391613915182004200520062007年份体育厨房家装文具商品类型销售金额聚集后的销售数据立方体2002年2001年季度销售额一季度224000元二季度408000元三季度350000元四季度586000元2000年季度销售额一季度224000元二季度408000元三季度350000元四季度586000元20001568000元20012356000元20023594000元年销售额•下图数据是某商场2000~2002年每季度的销售数据,对这种数据进行聚集,使结果数据汇总每年的总销售额,而不是每季度的总销售额。聚集后数据量明显减少,但没有丢失分析任务所需的信息。对年度内的各季度数据进行sum(求和)聚集数据归约——数据立方体聚集数据归约——维归约•维归约——去掉无关的属性,减少数据挖掘处理的数据量。•例如:挖掘顾客是否会在商场购买Mp3播放机的分类规则时,顾客的电话号码很可能与挖掘任务无关,应该可以去掉。•目标:寻找出最小的属性子集并确保新数据子集的概率分布尽可能接近原来数据集的概率分布。维归约——选择相关属性子集–1.逐步向前选择•从一个空属性集(作为属性子集初始值)开始,每次从原来属性集合中选择一个当前最优的属性添加到当前属性子集中。直到无法选择出最优属性为止。–2.逐步向后删除•从一个全属性集(作为属性子集初始值)开始,每次从当前属性子集中选择一个当前最差的属性并将其从当前属性子集中消去。直到无法选择出最差属性为止。–3.向前选择和向后删除结合–4.判定树(决策树)归纳•利用决策树的归纳方法对初始数据进行分类归纳学习,获得一个初始决策树,所有没有出现这个决策树上的属性均认为是无关属性,因此将这些属性从初始属性集合删除掉,就可以获得一个较优的属性子集。数据归约——数据压缩•数据压缩——用数据编码或者变换,得到原始数据的压缩表示。•在数据挖掘领域通常使用的两种数据压缩方法均是有损的:–主成分分析法(PCA)假定待压缩的数据由N个取自k个维的元组或数据向量组成。主要成分分析并搜索得到c个最能代表数据的k维正交向量,这里c≤k。这样就可以把原数据投影到一个较小的空间,实现数据压缩–小波转换•利用分箱方法对数据分布情况进行近似数值归约——直方图(“频率-值”对应关系图)•优点:获取样本的时间仅与样本规模成正比•方法:–不放回简单随机抽样–放回简单随机抽样–聚类抽样:先聚类,再抽样–分层抽样:先分层,再抽样数值归约——抽样(采样)数据归约——离散化与概念分层生成•三种类型的属性值:–名称型——e.g.无序集合中的值–序数——e.g.有序集合中的值–连续值——e.g.实数•离散化技术–以通过将属性(连续取值)域值范围分为若干区间,来帮助消减一个连续(取值)属性的取值个数。•概念分层–概念分层定义了一组由低层概念集到高层概念集的映射。它允许在各种抽