1、数据清洗和数据预处理熵值归一化方法抽样方法 扫地机 http:/ 认识数据挖掘前数据进行适当处理的必要性 掌握常用数据预处理的方法。教学要求知识要点能力要求相关知识点数据预处理的原因(1)了解原始数据存在的主要问题(2)明白数据预处理的作用和工作任务(1)数据的一致性问题(2)数据的噪声问题(3)原始数据的不完整和高维度问题数据预处理的方法(1)掌握数据清洗的主要任务与常用方法(2)掌握数据集成的主要内容和常用方法(3)掌握数据变换的主要内容和常用方法(4)掌握数据归约的主要内容和常用方法(1)数据清洗(2)数据集成(3)数据变换(4)数据归约为什么要预处理数据?现实世界的数据是“肮脏的”不完
2、整的含噪声的不一致的 没有高质量的数据,就没有高质量的挖掘结果高质量的决策必须依赖高质量的数据数据仓库需要对高质量的数据进行一致地集成原始数据中存在的问题1.不一致数据内涵出现不一致情况2.重复3.不完整感兴趣的属性没有值4.含噪声数据中存在着错误、或异常(偏离期望值)的数据5.高维度 数据预处理的方法 1.数据清洗去掉噪声和无关数据 2.数据集成将多个数据源中的数据结合起来存放在一个一致的数据存储中 3.数据变换把原始数据转换成为适合数据挖掘的形式 4.数据归约主要方法包括:数据立方体聚集,维归约,数据压缩,数值归约,离散化和概念分层等 数据清洗 数据选取参考原则:1.尽可能赋予属性名和属性
3、值明确的含义2.统一多数据源的属性值编码3.去除惟一属性4.去除重复属性5.去除可忽略字段6.合理选择关联字段 进一步处理:通过填补遗漏数据、消除异常数据、平滑噪声数据,以及纠正不一致的数据,去掉数据中的噪音、填充空值、丢失值和处理不一致数据 数据清洗处理空缺值 数据并不总是完整的在分析一个商场销售数据时,发现有多个记录中的属性 值为空,如:顾客的收入属性对于为空的属性值 引起空缺值的原因设备异常与其他已有数据不一致而被删除因为误解而没有被输入的数据在输入时,有些数据应为得不到重视而没有被输入对数据的改变没有进行日志记载数据清洗处理空缺值 空缺值要经过推断而补上1.忽略该记录2.去掉属性 3.
4、手工填写空缺值4.使用默认值5.使用属性平均值6.使用同类样本平均值 7.预测最可能的值数据清洗噪声数据的处理 噪声:在测量一个变量时可能出现的测量值相对于真实值的偏差或者错误。噪声数据的处理分箱分箱:把待处理的数据按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理。箱子:按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间代表的“箱子”里。分箱技术需要确定的主要问题:分箱方法,即如何分箱数据平滑方法,即如何对每个箱子中的数据进行平滑处理噪声数据的处理分箱 分箱的方法:分箱前对记录集按目标属性值的大小进行排序。等
5、深分箱法 等宽分箱法 用户自定义区间 最小熵 例:客户收入属性income排序后的值(人民币元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000噪声数据的处理分箱 等深分箱法(统一权重)按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱的权重,也称箱子的深度。设定权重(箱子深度)为4,上述例子分箱后的结果如下。箱1:800 1000 1200 1500箱2:1500 1800 2000 2300 箱3:2500 2800 3000 3500箱4:4000 4500 4800 500
6、0噪声数据的处理分箱 等宽分箱法(统一区间)在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。设定区间范围(箱子宽度)为1000元人民币,分箱后箱1:800 1000 1200 1500 1500 1800箱2:2000 2300 2500 2800 3000箱3:3500 4000 4500箱4:4800 5000 噪声数据的处理分箱 最小熵使在各区间分组内的记录具有最小的熵。信息是信号、符号或消息所表示的内容,用以消除对客观事物认识的不确定性 信息量的直观定义:信息量的大小取决于信息内容消除人们认识的“所消除的不确定程度越大,则所包含的信息量就越大。熵信息的度量(利
7、用概率来度量)A到1000人的学校去找B。传达室人告诉他,“B是信息管理系”,而管理系有100人。他获得的信息是100/10000.1,也就是将可能性空间缩小到原来的1/10.用概率来表示:log(1/10)=log10又有人告诉他:B在信息管理与信息系统教研室(10人),则第2个信息的确定性又缩小到原来的100/1000*10/100=10/1000,其信息量为-log100/1000+(-log10/1000)=-log10/1000=log100熵信息的度量 信息量大小的单位用比特来衡量。1比特的信息量是指含有两个独立均等概率状态的事件所具有的不确定性能被全部消除所需要的信息。信息量:H
8、(x)=-H(x)=-P(Xi)log2P(Xi)i=1,2,3,P(Xi)log2P(Xi)i=1,2,3,n,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比特。硬币下落:硬币下落可能有正反两种状态,出现这两种状态的概率都是1/2。如果需要消除其不确定性,则就需要信息量:H(x)=
9、-P(X1)log2P(X1)+P(X2)log2P(X2)=-(-0.5-0.5)=1比特为1比特的信息。例2:张三到4000人的企业去找李四。当企业人事部门告诉张三:“李四是第四车间的”,而第四车间有1000人,如果第四车间的人告诉张三,李四在第三班,第三班共有125位员工,计算张三所获得的信息量?噪声数据的处理分箱 用户自定义区间 用户根据需要自定义区间。用户自定义:如将客户收入划分为1000元以下、10002000、20003000、30004000和4000元以上几组,分箱后箱1:800 箱2:1000 1200 1500 1500 1800 2000 箱3:2300 2500 28
10、00 3000 箱4:3500 4000 箱5:4500 4800 5000 噪声数据的处理平滑处理 分箱后对数据进行平滑处理 3种进行数据平滑方法:按平均值平滑 对同一箱值中的数据求平均值,用平均值替代该箱子中的所有数据。按边界值平滑 用距离较小的边界值替代箱中每一数据。按中值平滑 取箱子的中值,用来替代箱子中的所有数据。噪声数据的处理聚类 簇:一组数据对象集合。同一簇内的所有对象具有相似性,不同簇间对象具有较大差异性。聚类:将物理的或抽象对象的集合分组为由不同簇,找出并清除那些落在簇之外的值(孤立点),这些孤立点被视为噪声。通过聚类分析发现异常数据:相似或相邻近的数据聚合在一起形成了各个聚
11、类集合,而那些位于这些聚类集合之外的数据对象,自然而然就被认为是异常数据。特点:直接形成簇并对簇进行描述,不需要任何先验知识。噪声数据的处理聚类噪声数据的处理回归 回归:发现两个相关的变量之间的变化模式,通过使数据适合一个函数来平滑数据,即利用拟合函数对数据进行平滑。方法:线性回归(简单回归):利用直线建模,将一个变量看作另一个变量的线性函数。如:Y=aX+b,其中a、b称为回归系数,可用最小二乘法求得a、b系数。非线性回归 噪声数据的处理回归xyy=x+1X1Y2Y1数据集成 数据集成:将多个数据源中的数据整合到一个一致的存储中1.模式匹配模式匹配2.数据冗余数据冗余3.数据值冲突数据值冲突
12、数据集成模式匹配 整合不同数据源中的元数据。实体识别问题:匹配来自不同数据源的现实世界的实体,比如:A.cust-id=B.customer_no。数据集成数据冗余 同一属性在不同的数据库中会有不同的字段名。一个属性可以由另外一个表导出。如:一个顾客数据表中的平均月收入属性,它可以根据月收入属性计算出来。有些冗余可以被相关分析检测到数据集成数据值冲突 对于一个现实世界实体,其来自不同数据源的属性值或许不同。产生的原因:表示的差异、比例尺度不同、或编码的差异等。例如:重量属性在一个系统中采用公制,而在另一个系统中却采用英制。同样价格属性不同地点采用不同货币单位。数据变换平滑 去除噪声,将连续的数
13、据离散化,增加粒度分箱聚类回归数据变换聚集 对数据进行汇总avg(),count(),sum(),min(),max()例如:每天销售额(数据)可以进行合计操作以获得每月或每年的总额。可以用来构造数据立方体数据变换数据概化 用更抽象(更高层次)的概念来取代低层次或数据层的数据对象 例如:街道属性,就可以泛化到更高层次的概念,诸如:城市、国家。同样对于数值型的属性,如年龄属性,就可以映射到更高层次概念,如:年轻、中年和老年。数据变换规范化 将数据按比例进行缩放,使之落入一个特定的区域,以消除数值型属性因大小不一而造成挖掘结果的偏差。如将工资收入属性值映射到-1.0,1.0范围内。方法:(1)最小
14、-最大规范化(2)零-均值规范化(z-score规范化)(3)小数定标规范化最小最小-最大规范化最大规范化 已知属性的取值范围,将原取值区间old_min,old_max映射到new_min,new_max 保留了原来数据中存在的关系。但若将来保留了原来数据中存在的关系。但若将来遇到超过目前属性遇到超过目前属性old_min,old_max取值取值范围的数值,将会引起系统出错范围的数值,将会引起系统出错最小最小-最大规范化最大规范化零零-均值规范化(均值规范化(z-scorez-score规范化)规范化)根据属性A的均值和偏差来对A进行规格化,常用于属性最大值与最小值未知;或使用最大最小规格化
15、方法时会出现异常数据的情况。零零-均值规范化(均值规范化(z-scorez-score规范化)规范化)小数定标规范化小数定标规范化 通过移动属性A值的小数位置,将属性A的值映射到0,1之间,用小数的科学表示法来达到规格化的目的。移动的小数位数取决于属性A绝对值的最大值。小数小数定标定标规范化规范化数据变换属性构造 利用已有属性集构造出新的属性,并加入到现有属性集合中以帮助挖掘更深层次的模式知识,提高挖掘结果准确性。例如:根据宽、高属性,可以构造一个新属性:面积。数据归约(数据消减)对大规模数据库内容进行复杂的数据分析通常需要耗费大量的时间。数据归约(消减)技术用于帮助从原有庞大数据集中获得一个
16、精简的数据集合,并使这一精简数据集保持原有数据集的完整性,这样在精简数据集上进行数据挖掘显然效率更高,并且挖掘出来的结果与使用原有数据集所获得结果基本相同。数据归约标准 用于数据归约的时间不应当超过或“抵消”在归约后的数据上挖掘节省的时间 归约得到的数据比原数据小得多,但可以产生相同或几乎相同的分析结果数据归约的方法1.数据立方体聚集数据立方体聚集:2.维归约维归约3.数据压缩数据压缩4.数值归约数值归约5.离散化和概念分层生成离散化和概念分层生成数据归约数据立方体聚集 数据立方体基本概念:数据立方体是数据的多维建模和表示,由维和事实组成。维属性事实数据 数据立方体聚集定义将n维数据立方体聚集
17、为n-1维的数据立方体。数据归约数据立方体聚集2000200120022003天津河北江苏广东体育厨房家装文具年份商品类型省份10425208071720412323247505841170299731542140114015005004销售金额数据归约数据立方体聚集聚集后的销售数据立方体聚集后的销售数据立方体 2002 年 2001 年 季度 销售额 一季度 224 000 元 二季度 408 000 元 三季度 350 000 元 四季度 586 000 元 2000 年 季度 销售额 一季度 224 000 元 二季度 408 000 元 三季度 350 000 元 四季度 586 00
18、0 元 2000 1 568 000 元 2001 2 356 000 元 2002 3 594 000 元 年 销售额 下图数据是某商场20002002年每季度的销售数据,对这种数据进行聚集,使结果数据汇总每年的总销售额,而不是每季度的总销售额。聚集后数据量明显减少,聚集后数据量明显减少,但没有丢失分析任务所需的信息。但没有丢失分析任务所需的信息。对年度内的各季度数据进行sum(求和)聚集数据归约数据立方体聚集 下图所示数据立方体用于某销售企业每类商品在各分公司年销售多维数据分析。每个单元存放一个聚集值,对应于多维空间的一个数据点。每个属性可能存在概念分层,允许在多个抽象层进行数据分析。20
19、01 年 568 750 150 50 四川河南湖北上海分公司 办公用品 电话 计算机 打印机 2000 年 2002 年 商品类型分公司西南华中华东四川河南湖北上海数据归约数据立方体聚集数据归约维归约 维归约去掉无关的属性,减少数据挖掘处理的数据量。例如:挖掘顾客是否会在商场购买Mp3 播放机的分类规则时,顾客的电话号码很可能与挖掘任务无关,应该可以去掉。目标:寻找出最小的属性子集并确保新数据子集的概率分布尽可能接近原来数据集的概率分布。维归约选择相关属性子集1.逐步向前选择从一个空属性集(作为属性子集初始值)开始,每次从原来属性集合中选择一个当前最优的属性添加到当前属性子集中。直到无法选择
20、出最优属性或满足一定阈值约束为止。2.逐步向后删除 从一个全属性集(作为属性子集初始值)开始,每次从当前属性子集中选择一个当前最差的属性并将其从当前属性子集中消去。直到无法选择出最差属性为止或满足一定阈值约束为止。3.向前选择和向后删除结合4.判定树(决策树)归纳利用决策树的归纳方法对初始数据进行分类归纳学习,获得一个初始决策树,所有没有出现这个决策树上的属性均认为是无关属性,因此将这些属性从初始属性集合删除掉,就可以获得一个较优的属性子集。5.基于统计分析的归约 数据归约数据压缩 数据压缩用数据编码或者变换,得到原始数据的压缩表示。在数据挖掘领域通常使用的两种数据压缩方法均是有损的:主成分分
21、析法(PCA)假定待压缩的数据由N个取自k个维的元组或数据向量组成。主要成分分析并搜索得到c个最能代表数据的k维正交向量,这里 ck。这样就可以把原数据投影到一个较小的空间,实现数据压缩小波转换数据归约数据压缩 压缩算法分类:无损(loseless)压缩:可以不丢失任何信息地还原压缩数据。例如:字符串压缩有广泛的理论基础和精妙的算法有损(lossy)压缩:只能重新构造原数据的近似表示。例如:音频/视频压缩有时可以在不解压整体数据的情况下,重构某个片断数据归约数值归约 数值归约用较小的数据表示数据,或采用较短的数据单位,或者用数据模型代表数据,减少数据量。常用的方法直方图用聚类数据表示实际数据抽
22、样(采样)4.参数回归法 利用分箱方法对数据分布情况进行近似数值归约直方图(“频率值”对应关系图)数值归约用聚类数据表示实际数据 优点:获取样本的时间仅与样本规模成正比 方法:不放回简单随机抽样放回简单随机抽样聚类抽样:先聚类,再抽样分层抽样:先分层,再抽样数值归约抽样(采样)不放回简单随机抽样不放回简单随机抽样放回简单随机抽样放回简单随机抽样聚类抽样聚类抽样分层抽样分层抽样数值归约参数回归法 通常采用一个模型来评估数据,该方法只需要存放参数,而不是实际数据。能大大简少数据量,但只对数值型数据有效。方法:线性回归非线性回归 数据归约离散化与概念分层生成三种类型的属性值:名称型e.g.无序集合中
23、的值序数e.g.有序集合中的值连续值e.g.实数离散化技术以通过将属性(连续取值)域值范围分为若干区间,来帮助消减一个连续(取值)属性的取值个数。概念分层概念分层定义了一组由低层概念集到高层概念集的映射。它允许在各种抽象级别上处理数据,从而在多个抽象层上发现知识。用较高层次的概念替换低层次(如年龄的数值)的概念,以此来减少取值个数。虽然一些细节在数据泛化过程中消失了,但这样所获得的泛化数据或许会更易于理解、更有意义。在消减后的数据集上进行数据挖掘显然效率更高。概念分层结构可以用树来表示,树的每个节点代表一个概念。数据归约概念分层生成数值数据的概念分层生成方法 a.分箱属性的值可以通过将其分配到
24、各分箱中而将其离散化。利用每个分箱的均值和中数替换每个分箱中的值(利用均值或中数进行平滑)。循环应用这些操作处理每次操作结果,就可以获得一个概念层次树。b.直方图循环应用直方图分析方法处理每次划分结果,从而最终自动获得多层次概念树,而当达到用户指定层次水平后划分结束。最小间隔大小也可以帮助控制循环过程,其中包括指定一个划分的最小宽度或每一个层次每一划分中数值个数等。c.聚类聚类算法可以将数据集划分为若干类或组。每个类构成了概念层次树的一个节点;每个类还可以进一步分解为若干子类,从而构成更低水平的层次。当然类也可以合并起来构成更高层次的概念水平。d.基于熵的离散化数值数据的概念分层生成方法 e.
25、自然划分分段将数值区域划分为相对一致的、易于阅读的、看上去更直观或自然的区间。聚类分析产生概念分层可能会将一个工资区间划分为:51263.98,60872.34通常数据分析人员希望看到划分的形式为50000,60000划分方法:3-4-5规则如果一个区间最高有效位上包含3,6,7或9个不同的值,就将该区间划分为3个等宽子区间;(72,3,2)如果一个区间最高有效位上包含2,4,或8个不同的值,就将该区间划分为4个等宽子区间;如果一个区间最高有效位上包含1,5,或10个不同的值,就将该区间划分为5个等宽子区间;将该规则递归的应用于每个子区间,产生给定数值属性的概念分层;对于数据集中出现的最大值和
26、最小值的极端分布,为了避免上述方法出现的结果扭曲,可以在顶层分段顶层分段时,选用一个大部分的概率空间(如 5%-95%),越出顶层分段的特别高和特别低的采用类似的方法形成单独的区间。数值数据的概念分层生成方法分类(类别)数据的概念分层生成方法 类别属性可取有限个不同的值且这些值之间无大小和顺序。这样的属性有:国家、工作、商品类别等。构造类别属性的概念层次树的主要方法:1.通过指定属性之间的包含关系产生分层2.对数据进行分组(聚合)产生分层3.由属性值的个数产生分层4.根据数据语义产生分层分类(类别)数据的概念分层生成方法 类别属性可取有限个不同的值且这些值之间无大小和顺序。这样的属性有:国家、
27、工作、商品类别等。构造类别属性的概念层次树的主要方法:通过指定属性之间的包含关系产生分层例如:一个关系数据库中的地点属性将会涉及以下属性:街道、城市、省和国家。根据数据库模式定义时的描述,可以很容易地构造出(含有顺序语义)层次树,即:街道/城市/省/国家对数据进行分组(聚合)产生分层例如:在模式定义基础构造了省和国家的层次树,这时可以手工加入:安徽、江苏、山东华东地区;广东、福建华南地区等“地区”中间层次。人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。