韩家炜数据挖掘概念与技术第3章ppt课件.pptx
《韩家炜数据挖掘概念与技术第3章ppt课件.pptx》由会员分享,可在线阅读,更多相关《韩家炜数据挖掘概念与技术第3章ppt课件.pptx(119页珍藏版)》请在三一办公上搜索。
1、第3章 数据预处理,2014-11,目录,3.1 数据预处理:概览3.2 数据清洗3.3 数据聚合3.4 数据删减3.5 数据转换和数据离散化3.6 总结,数据预处理,真实世界中的数据库对噪声、缺失、以及不一致的数据是高度敏感的,因为这些数据常常容量很大,并且很可能是多来源的异质数据。数据的低质量会导致低质量的数据挖掘结果。“如何处理数据,以有助于提到数据的质量和数据挖掘的效果呢?数据被如何处理能够提高挖掘过程的高效性和简易型呢?”这里有几种数据预处理的技术,包括:数据清洗,数据聚合,数据删减,数据转换。这些技术能提升挖掘算法的精确性和效率。它们并非相对独立,是共同工作的。比如,数据清洗也包含
2、数据转化以去除错误数据。,3.1 数据预处理:概览,3.1.1 数据质量:为什么做数据预处理?如果数据满足了人们的预期用途的需求,则数据质量好。数据质量包含很多因素,如:精确性、完整性、一致性、时效性、可信性以及可解释性。数据的不精确、不完整以及不一致是大型真实世界数据库以及数据仓库的常见特点。,数据的不精确性,不精确数据有很多可能的原因:数据收集工具可能错误,数据记录中很多人为的或计算机导致的的错误。用户也可能在值当他们不愿意暴露个人资料的时候在一些强制必须填写的栏目故意提交了错误的资料(如生日直接用默认值1月1日)。这是一些伪装缺失的数据。数据在传输时也可能出错。一些技术上的限制,例如并行
3、同步数据的传输和计算时缓冲区间的有限性。不正确的数据也可能因为命名习惯或者数据编码的不一致性,或者输入域的格式不一致。重复的元组也需要进行数据清洗。,数据的不完整性,导致数据的不完整性的原因也有很多:感兴趣的属性并不能总是可获得,比如销售交易数据中的客户资料信息。另外,很可能因为在当时的条目中,该属性被认为是不重要的。相关联的数据没有被记录可能因为误解或者设备故障的原因。,不一致的数据,和其他数据记录不一致的数据应该被被删掉。另外,数据历史和修改可能被忽视。缺失的数据,特别是缺失了某些属性值的元组,值可能需要被推断。数据质量依赖于人们对数据的预期使用。两个不同的用户可能对一个给定的数据库的质量
4、有不同的评估。比如,一个市场分析员获得了一个由顾客地址列表的数据库。一些地址是过期或错误的,总体上有80%是精确的。市场分析员认为这是一个针对目标市场的很大的客户数据库,对数据的精确性很满意。但是,销售经理可能认为数据是不精确的。,数据的时效性,时效性也可能影响数据质量:比如你在浏览AllElectronics公式的每月销售奖金的数据分布。一些销售代表在月末的时候没有及时的提交他们的销售记录。在月末之后可能有一些数据的更正和调整。从每个月的时间周期来看,数据库中存放的数据是不完整的。因为月末的数据没有被及时的更新导致了数据质量的负面性影响。,数据的可信性和可解释性,另外的两个影响数据质量的因素
5、是可信性和可解释性。可信性反映用户有多相信这些数据,可解释性反应数据有多容易被理解。例如一个数据库在某一时刻有一些错误,然后都被更正了。过去的错误导致了销售部门用户的大量问题,因此他们不再相信这些数据。这些数据可能使用了很多会计代码,销售部门不懂如何解释。即使这些数据是精确完整一致和有时效性的,但是仍然被销售部门用户认为是低质量的。,3.1.2 数据预处理的主要任务,数据预处理的主要步骤是:数据清洗数据聚合数据删减数据转换,数据清洗,数据清洗的工作是清洗数据,通过填写缺失的数据,平滑噪音数据,识别需要去除的离群点,以及解决不一致性。如果用户相信数据是脏数据,便不可能信任数据挖掘的结果。另外,脏
6、数据可能导致挖掘过程中的混乱,导致不可靠的输出结果。即使绝大多数的挖掘方法都有处理数据不完整和噪声的步骤,但仍然不够健壮。通常,这些算法集中避免建模的函数对数据的过度拟合。因此,有用的预处理的步骤是把你的数据通过一些数据清洗的例程工作来完成。,数据聚合,如果你的分析中数据是多来源的,则需要进行数据聚合工作,即聚合多种数据库,数据立方,以及文件。一个给定概念的属性在不同数据库中可能有不同的命名,导致了不一致性和冗余。例如,顾客的主键属性在一个数据库中是custom_id, 在另外的数据库却是cust_id。命名的不一致性也可能发生在属性值的上面。例如,一个数据库中人名的第一个名字是”Bill”,
7、 在另一个中是”William”, 第三个中是”B”.,同时,你怀疑一些属性值是由其他属性值计算的(比如年收入)。有大量的冗余数据会让知识发现过程速度降低以及产生混乱。因此,除了数据清洗,必须采取步骤来避免在数据聚合中出现冗余。通常,数据清洗和数据聚合在为数据仓库准备数据时被整合成一个预处理步骤。在数据清洗之外,在鉴别和去除因聚合导致的冗余数据的步骤。,数据删减,“我被选做分析的数据集非常大,这确信无疑的会减慢挖掘过程。是否有一个方法能够在不影响数据挖掘的效果的情况下减小数据集呢?”这就是数据删减。数据删减能得到一个数据集的删减集,比原来的数据小很多,但是能产生相同的(或几乎相同的)分析结果。
8、数据删减包括维度删减和数据块删减。,维度删减:维度删减是一种获得原有数据的删减或者压缩集的数据编码方案。比如,数据压缩技术(小波分析、主成分分析)属性子集选择(去除不相关属性),以及属性构造(如从原有数据集中建立小的更有用的属性)数据块删减:数据被可选的更小的数据替换,使用参数模型(如回归和对数-线性模型)或者非参数模型(直方图,聚类,抽样和数据聚集)。,数据转换,在神经网络、最近邻分类以及聚类分析中,你可能使用一个基于距离的挖掘算法。如果将数据标准化,按比例缩小到一个更小的范围,如0.0,1.0中,可能会得到更好的效果。你的顾客数据中可能包含年龄属性和年薪属性。年薪属性会使用一个比年龄大得多
9、的值范围。因此,如果属性是左非规范的,距离测量会在年薪上产生更大的距离权重。,离散化和概念层次生成也很有效。用于将原始数据值替换成范围区间或者高层概念层级。例如,原始的年龄值被高层级的概念:年轻人,成年人和老年人替换。 离散化和概念层次生成是数据挖掘的强大工具,因为他们允许数据挖掘在更多抽象级别上进行。标准化、离散化和概念层次生成是数据转换的几种形式。,多种预处理的形式,预处理的作用,总之,真实世界中的数据更可能是脏的、不完整和不一致的。数据预处理技术可以提升数据质量,因而提升接下来的挖掘过程的精确性和有效性。数据预处理是知识发现过程的一个重要步骤,因为好的质量抉择基于好的质量的数据。发现数据
10、的异常,在早期进行修正,减少被分析的数据会给决策制定带来巨大的回报。,3.2 数据清洗,3.2.1 缺失值假设你需要分析AllElectronics的销售和顾客数据。你注意到许多元组在一些属性例如顾客收入上没有记录值。如何能填写这些属性的缺失值呢?有如下方法:1. 忽略元组。常常在类别标签(假定是分类任务)缺失时这样做。这种方法不是非常有效,除非元组包含若干缺失值的属性。当每个属性上缺失的值占的比例变化很大时,这种方法特别糟糕。通过忽略这些元组,也不会使用这些元组剩下的属性值。本来这些数据可以很有用的。,2 手工填写缺失值。通常,这种方法耗时,并且对一个有很多缺失值的大型数据集来说并非可行。3
11、 使用一个全局常数来填写缺失值。可以将所有缺失的属性值用同一个常数,例如标签“Unknown”或者”-”来表示。如果缺失值被“Unknown”替换,挖掘算法可能错误的认为形成了一个有趣的概念,因为他们都有一个共同的值”Unknown”.因此,即使这种方法很简单,却也并非不会出错。4 使用一个属性的中心性测量来填写缺失值。对于标准(对称的)数据分布,可以使用平均值,对偏斜数据分布可以使用中值。,5. 使用给定元组的类别相同的所有样本的均值或者中值。例如,如果根据顾客的信用风险来分类顾客,可以计算和该顾客的信用风险类别相同的所有顾客的收入均值,来填写给定元组的缺失的收入属性。如果对于给定类别数据分
12、布是偏斜的,则使用中值。6. 使用缺失值的最可能的值来填写。值可以由回归、使用Bayes公式的基于推理的工具,或者决策树推理。如,使用你的数据集中的其他顾客的属性,可以建立一个预测顾客缺失的收入值的决策树。方法3-6 改变了数据,即填写的值可能是不正确的。其中,方法6是一种流行的策略。,需要重点指出的是,在某些情形,一个缺失的值并非意味着数据的错误!例如,当申请信用卡时,申请者被要求提供驾驶证号码。没有驾驶证的自然就会在这一项不填写。表格应当允许回答者做详细说明,例如“不适合”。软件例程可能被使用来发现其他的空值(例如,“不知道?”或者“空”)。理想情况是,每一个属性有一个或者多个针对空值情形
13、的规则。这些规则可以详细指明空值是否被允许或者种类值如何被处理和转换。属性域可以被留作空白,如果在随后的商业过程中能够被提供。因此,即使在数据被获取之后,我们能够尽力去清洗,好的数据库和数据表过程设计能在第一时间最小化缺失值和错误的数目。,3.2.2 噪声数据,“什么是噪声?”噪声是度量变量的随机错误或者偏差。第2章中介绍的基本统计描述技术(箱子图、散点图)、数据可视化的技术科用来识别离群点,这些可能代表噪声。给定一个数值属性,例如价格,如何来平滑数据以去除噪声呢?有如下技术:1、装箱装箱方法通过参考数据值的“邻居”(即该值周围的数据)来平滑排好序的数据。,排好序的数据被分布到一系列的“桶”,
14、或箱子中。因为装箱方法参考值的邻居,所以使用的是局部平滑。有若干种装箱技术:1)等频装箱。例如,价格属性先被排序,然后被分割到箱子的大小为3的等频箱子中。2)箱子均值平滑。箱子中的每个值被箱子的均值替代。3)箱子中值平滑。每个箱子值被箱子中值取代。4)箱子边界平滑。箱子值被最靠近的边界值(最大值或最小值)取代。箱子的宽度也大,平滑效果也越显著。另外,等宽度的箱子,即每个箱子间隔是个相同的常数也常被使用。箱子技术也是一种数据离散化的技术。,2、回归:数据平滑也可以使用回归的方法,即将数据值通过一个函数来表达。线性回归是寻找两个属性(或变量)的最好的直线来通过一个属性预测另外一个。多元线性回归是线
15、性回归的扩展。超过两个的属性被包含在其中,数据被拟合成一个高维超平面。3、离群点分析:通过聚类的方法可以检测离群点。例如,相似的值被分组,或“簇”。值落在簇之外的被认为是离群点。,4、其他方法:很多数据平滑技术也适用于数据离散化和数据削减。例如,装箱技术削减了每个属性的不同值的个数。在基于逻辑的数据挖掘方法例如决策树中,因为需要不断重复的在排序数据上做值的比较,因此这相当于是数据削减。概念分层是数据离散化的一种,可以用来做数据平滑。一个概念分层例如价格,可以映射真实的价格值到便宜、中等、昂贵上。这样削减了挖掘过程需要处理的数据值的个数。一些分类方法有内置的数据平滑机制。,3.2.3 数据清洗作
16、为一个过程,“数据清洗是一个巨大的工作。数据清洗作为一个过程怎么样呢?在处理这个任务是人如何精确的进行呢?有任何可用的工具吗?”数据清洗作为一个过程的第一步是不一致性检测。不一致性可能由多种原因导致:设计很差的数据表人为的输入错误故意的错误(不希望泄露个人信息的回答者),以及数据延迟(如过期的地址)还可能因为不一致的数据表达和编码的不一致使用其他的来源例如测量设备的错误导致的记录数据和系统错误错误也可能发生在被用于和预期不同的目的时还有一些不一致性是因为数据聚合导致的(一个给定的属性在不同数据库中使用不同的名称),“那么,如何进行不一致检测呢?”使用任何你事先已经知道的关于数据的相应属性的知识
17、,这种知识被称为“元数据”。例如,数据的类型和每个属性的域是什么?每个属性的可接受的值是什么?基本的统计数据描述(Section 2.2)对于获取数据趋势和鉴别异常很有用。例如,寻找均值,中值和众数。数据是对称还是偏斜的?值的取值范围是?所有的值都落在期望的区间吗?每个属性的标准差是多少?值在距离均值两倍标准差的范围外的属性值可能是潜在离群值。属性之间有已知的依赖关系吗?在这个步骤,你可能需要写下你自己的脚本或者使用后面将要讨论的一些工具。通过这样的方式,你可以找到噪声,离群点,需要察觉的异常值。,作为一个数据分析师,你需要寻找不一致的编码以及任何不一致的数据表达(比如,2010/12/25
18、和 25/12/2010 )。字段过载是另一个错误源,常常是设计者将新属性的定义挤进一个已经定义好的属性未使用的位(bit)。(例如,一个属性的值范围是32位二进制中的31位,剩1个位未使用)。数据还需要使用唯一性规则,连续性规则和空值规则来检查。唯一值规则是给定属性的每一个值必须和该属性的其他所有值不同。连续性规则是在属性的最小值和最大值之间不能有缺失值(例如,检查号码)。空值规则指明了空白、提问标记、特殊字符或其他的字符串可能指代空值条件(如一个给定属性的值不可获得),以及这样的值如何被处理。,空值规则应当指明如何记录空值条件,例如,存储数值属性的0值,字符属性的空白,或者其他可能使用的习
19、惯(如,像“不知道”或者“?”的输入应当被转换成空白)。有一系列不同的商业工具可以用来做不一致性检测。数据洗擦工具使用简单的领域知识(如邮政地址和拼音检查的知识)来检测和修正数据中的错误。这些工具在清洗多种来源的数据时依赖于语法解析和模糊匹配技术。数据审核工具通过分析数据发现规则和关系来寻找不一致性,以及检查违反了条件的数据。它们是数据挖掘工具的变体。它们可能使用统计分析来发现关联,或者聚类发现离群点。也可能利用2.2节介绍的基本统计数据描述方法。,一些数据不一致性可以通过使用外部参考来人工改正。例如,数据输入的错误可以通过纸上跟踪的方式来改正。绝大部分的输错,都需要进行数据转换。即一旦我们发
20、现了不一致性,常常需要定义和应用转换来修正。商业工具在数据转换步骤可以起到作用。数据迁移工具允许做简单的转换例如将字符串“gender”变为”sex”. ETL(抽取/转换/加载工具)允许用户规定使用图形用户接口(GUI) 来转换。这些工具常常只支持有限的转换集,因此,我们还常常选择编写定制的脚本来做数据清洗的工作。,不一致性的两个步骤即不一致性检测和数据转换是迭代的过程。这个过程是修剪错误,很耗时。,3.3 数据聚合,数据挖掘经常需要数据聚合合并多个数据库中的数据。细致的聚合能帮助减少和避免结果数据集中的冗余和不一致性。并在随后的数据挖掘过程中提高准确率和速度。,3.3.1 实体识别问题,数
21、据聚合是将多种数据来源结合到一个数据库中,如数据仓库。这些来源包含多种数据库,数据立方以及文件。模式聚合和对象匹配可能比较复杂。如何将真实世界中的实体等价地匹配到多个数据源中?这就是实体识别问题。,例如,数据分析师或者计算机如何确信一个数据库中的customer_id和另一个库中的cust_number指的是同一个属性?包含名称,含义,数据类型,属性的取值范围,以及控制规则的元数据在3.2节被探讨过。这种元数据能帮助避免模式聚合中的错误。元素据还可以用来帮助数据转换(例如,数据编码pay_type在一个数据库中可能是”H”、“S”,在一个中可能是”1”和“2”).因此,这个步骤和数据清洗也互相
22、关联。,将一个数据库中的属性匹配到另一个数据库时,需要特别注意数据的结构。必须保证源系统中的任何属性的功能性依赖关系以及参考限制与目标系统匹配。例如,在一个系统中,discount可能被按次序被应用,在另一个系统中则按每一个单个的项目内部的次序被应用。如果在聚合之前没有发现这个,目标系统中的商品则会有错误的discount信息。,3.3.2 冗余和关联性分析,冗余是数据聚合的另外一个重要的问题。一个属性(例如年收入)是冗余的,如果它能从其他的属性或属性集合推导得到。属性的不一致或者维度命名也会导致相应数据集中的冗余。这种冗余可以使用关联性分析来检测。给出两个属性,这种分析能基于可获得的数据测量
23、一个属性在多强的程度上暗含了另一个。对于名词数据,可以使用卡方检验。对数值型数据,使用关联系数和协方差。,名词数据的卡方关联检验,对名词数据,两个属性A和B之间的关联关系可以使用卡方检验来发现。假设A有c个不同的值,a1, a2,.ac. B有r个不同的值,b1,b2,br.则包含属性A和属性B的元组可以使用一个列联表来表示,其中A属性的c个不同值构成表的列,B属性的r个不同值构成表的行。令(Ai, Bj)表示属性A取ai而属性B取bj的联合事件,即(A=ai, B=bj).,在表中每一个可能的(Ai, Bj)联合事件都有一个单元。卡方值的公式是:其中,oij表示观察到的(Ai, Bj)联合事
24、件的频率(实际次数)。而eij表示(Ai,Bj)事件的期望频率,计算公式是:其中,n是数据元组的个数。,公式3.1计算全部r*c个单元的值。那些实际的次数和期望值相差最大的是对卡方值贡献最大的。卡方统计检验假定属性A和属性B是互相独立的,即这两个属性之间没有关联。基于显著性水平,自由度是(r-1)*(c-1)。如果假设被拒绝,则A和B统计相关。,卡方检验举例例3.1,假设调查了1500个人,按性别分成男和女。每个人投票是否喜欢阅读小说。这样,就有了两个属性:gender和preferred_reading.观察到的每个可能的联合事件的次数在表3.1中。圆括号中的表示事件的期望次数,按照公式3.
25、2计算出来的。,可以注意到,每一行中,期望次数的总和必须和这一行的观察次数的总和相等;每一列中,期望次数的和等于这一列的观察次数的和。利用公式3.1,计算卡方值为:对于2*2的表,自由度为(2-1)*(2-1)=1. 在自由度为1时,卡方值为10.828则可以在0.001的显著性水平上拒绝值原假设。因为计算出的值大于这个值,所以能以更小的显著性水平拒绝原假设,即性别和是否喜欢读小说之间存在强相关关系。,数值型数据的相关系数,相关系数rAB的值在-1到+1之间。如果rAB 0,则称A和B正相关。表示A的值随着B的值的增大而增大。值越大,相关性越强。因此,一个很大的值意味着A(或B)需要被作为冗余
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 韩家炜 数据 挖掘 概念 技术 ppt 课件
链接地址:https://www.31ppt.com/p-1369665.html