您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第6章-数据预处理..
第6章数据预处理宋杰鲲®中国石油大学(华东)管理科学与工程系数据预处理由于数据库系统所获数据量的迅速膨胀(已达GB或TB数量级),从而导致了现实世界数据库中常常包含许多含有噪声、不完整、甚至是不一致的数据。显然对数据挖掘所涉及的数据对象必须进行预处理。数据预处理主要包括:数据清理、数据集成、数据选择、数据变换、数据归约等。数据预处理本章目标:了解并掌握数据预处理的几种方法,特别是分箱方法、数据规格化方法。数据预处理6.1数据预处理的必要性6.2数据清理6.3数据集成6.4数据变换6.5数据归约6.1数据预处理的必要性数据挖掘的效果和数据质量之间有着紧密的联系,所谓“垃圾入,垃圾出”,即数据的质量越好,则挖掘的结果就越精确,反之则不可能取得好的挖掘结果。尤其是在对包含有噪声、不完整、不一致数据进行数据挖掘时,更需要进行数据的预处理,以提高数据挖掘对象的质量,并最终提高数据挖掘所获模式知识的质量。6.1数据预处理的必要性噪声数据:噪声是指一个测量变量中的随机错误或偏离期望的孤立点值,产生噪声的原因很多,人为的、设备的和技术的等,如数据输入时的人为错误或计算机错误,网络传输中的错误,数据收集设备的故障等。不完整数据:实际应用系统中,由于系统设计的不合理或者使用过程中的某些因素,某些属性值可能会缺失或者值不确定。6.1数据预处理的必要性不一致数据:由于原始数据来源于多个不同的应用系统或数据库,信息庞杂,采集和加工的方法有别,数据描述的格式也各不相同,缺乏统一的分类标准和信息的编码方案,难以实现信息的集成共享,很难直接用于数据挖掘。重复数据:同一事物在数据库中存在两条或多条完全相同的记录,或者相同的信息冗余的存在于多个数据源中。6.1数据预处理的必要性维度高数据:原始数据中通常记录事物的较为全面的属性,而在一次挖掘中,这些属性并不是都有用,只需要一部分属性即可得到希望知道的知识,而且无用属性的增加还会导致无效归纳,把挖掘结果引向错误的结论。6.2数据清理数据预处理的方法主要包括:数据清理(datacleaning)、数据集成(dataintegration)、数据变换(datatransformation)、数据归约(datareduction)。数据清理通过填补遗漏数据、消除异常数据、平滑噪声数据,以及纠正不一致的数据。6.2数据清理6.2.1遗漏数据处理假设在分析一个商场销售数据时,发现有多个记录中的属性值为空,如:顾客的收入属性,对于为空的属性值,可以采用以下方法进行遗漏数据处理:(1)忽略该条记录。当一个记录中有多个属性值空缺,特别是关键信息丢失时,即使是采用某些方法把所有缺失的属性值填充好,该记录也不能反映真实情况,对于数据挖掘算法来说,这样的数据性质很差,应该忽略该条记录。6.2数据清理6.2.1遗漏数据处理(2)去掉属性。如果所有记录中的某一个属性值缺失严重,可以认为该属性对知识发现来说已经没有意义,将其直接去掉。(3)手工填补遗漏值。以某些背景资料为依据,手工填写空缺值,一般讲这种方法比较耗时,而且对于存在许多遗漏情况的大规模数据集而言,显然可行较差。6.2数据清理6.2.1遗漏数据处理(4)利用缺省值填补遗漏值。对一个离散属性的所有遗漏的值均利用一个事先确定好的值来填补。如:都用OK来填补。但当一个属性遗漏值较多值,若采用这种方法,就可能误导挖掘进程。因此这种方法虽然简单,但并不推荐使用,或使用时需要仔细分析填补后的情况,以尽量避免对最终挖掘结果产生较大误差。(5)利用均值填补遗漏值。计算一个属性(值)的平均值,并用此值填补该属性所有遗漏的值。如:若一个顾客的平均收入(income)为12000元,则用此值填补属性中所有被遗漏的值。6.2数据清理6.2.1遗漏数据处理(6)利用同类别均值填补遗漏值。计算同类样本记录的该属性平均值,用来填充空缺值。如:若要对商场顾客按信用风险进行分类挖掘时,就可以用在同一信用风险类别下(如良好)的income属性的平均值,来填补所有在同一信用风险类别下属性income的遗漏值。6.2数据清理6.2.1遗漏数据处理(7)利用最可能的值填补遗漏值。可以利用回归分析、贝叶斯计算公式或决策树推断出该条记录特定属性的最大可能的取值。例如:利用数据集中其它顾客的属性值,可以构造一个决策树来预测属性income的遗漏值。与其他方法相比,该方法最大程度地利用了当前数据所包含的信息来帮助预测所遗漏的数据,是目前最为常用的方法。(1)分箱方法。通过考察相邻数据来确定最终值。把待处理的数据(某列属性值)按照一定的规则放进一些箱子中,考察每一个箱子的数据,采用某种方法分别对各个箱子中的数据进行处理。常用的方法包括等深分箱法、等宽分箱法以及自定义分箱法。完成分箱之后,就要选择一种方法对数据进行平滑,使得数据尽可能接近。常用的方法包括:6.2数据清理6.2.2噪声数据处理①按平均值平滑:对同一箱值中的数据求平均值,然后用这个平均值替代该箱子中的所有数据。②按边界值平滑:对于箱子中的每一个数据,观察它和箱子两个边界值的距离,用距离较小的那个边界值替代该数据。③按中值平滑:取箱子的中值,用来替代箱子中的所有数据。中值也称中数,将数据排序之后,如果这些数据是奇数个,中值就是最中间位置的那个数;如果是偶数个,中值应该是中间两个数的平均值。6.2数据清理6.2.2噪声数据处理price的排序后数据(元):4,8,15,21,21,24,25,28,34等深分箱(箱深为3):箱1:4,8,15箱2:21,21,24箱3:25,28,34等宽分箱(箱宽为10):箱1:4,8箱2:15,21,21,24,25箱3:28,34自定义分箱(10以下,10~20,20~30,30~40):箱1:4,8箱2:15箱3:21,21,24,25,28箱4:346.2数据清理6.2.2噪声数据处理price的排序等深后数据:4,8,15;21,21,24;25,28,34用平均值平滑:箱1:9,9,9箱2:22,22,22箱3:29,29,29用边界平滑:箱1:4,4,15箱2:21,21,24箱3:25,25,34用中值平滑:箱1:8,8,8箱2:21,21,21箱3:28,28,286.2数据清理6.2.2噪声数据处理课堂练习:假定用于分析的数据包含属性age。数据元组中age的值如下(按递增序):13,15,16,16,19,20,20,21,22。1)使用按箱平均值(保留整数,四舍五入)平滑对以上数据进行平滑,箱的深度为3。说明你的步骤。2)使用按箱边界平滑对以上数据进行平滑,箱的深度为3。说明你的步骤。6.2数据清理6.2.2噪声数据处理(2)聚类方法。通过聚类分析可帮助发现异常数据,相似或相邻近的数据聚合在一起形成各个聚类集合,而那些位于这些聚类集合之外的数据对象被认为是异常数据。聚类方法不需要任何先验知识。6.2数据清理6.2.2噪声数据处理(3)回归方法。可以利用拟合函数对数据进行平滑。如:借助线性回归(linearregression)方法,包括多变量回归方法,就可以获得的多个变量之间的一个拟合关系,从而达到利用一个(或一组)变量值来帮助预测另一个变量取值的目的。利用回归分析方法所获得的拟合函数,能够帮助平滑数据及除去其中的噪声。6.2数据清理6.2.2噪声数据处理(4)人机结合检查方法。通过人与计算机检查相结合方法,可以帮助发现异常数据。如:利用基于信息论方法可帮助识别用于分类识别手写符号库中的异常模式;所识别出的异常模式可输出到一个列表中;然后由人对这一列表中的各异常模式进行检查,并最终确认无用的模式(真正异常的模式)。这种人机结合检查方法比单纯利用手工方法手写符号库进行检查要快许多。6.2数据清理6.2.2噪声数据处理(1)多个取名或不规范取名的清理问题。数据清理将数据值进行一致化,即相同含义的值应具有统一的形式。如人员的出生地在不同的数据源中可能分别使用“上海”、“沪”、“上海市”、“沪市、“申”、“申城”、“Shanghai”,、“SH”等表示上海市出生的人员,应将这类值统一表示。在不同的数据源中,相同类型的信息可能表现为不同的格式,例如,电话号码通常定义为字符型数据,但在有些数据源中可能将其定义为数值型数据,因此应将其一致化。6.2数据清理6.2.3不一致数据处理(2)错误数据的清理问题。数据清洗包括数据的一致性确认,如人员的联系信息在地址域的值为“中国石油大学(华东)”,而在相应的邮政编码域值为“257000”,则记录的数据存在不一致。在本例中,假如存在一个标准的地址和邮政编码的对应表,则可对记录中的邮政编码值自动更正。当然,这需要结合一定的业务规则,因为也有可能邮政编码的值正确,而地址域的值不正确。6.2数据清理6.2.3不一致数据处理(3)失效数据或过期数据的清理问题。地址是一个经常出现过时数据的典型例子。在当今社会中,人们常常改变他们的地址,所以一年以上的住址变得不再可靠。体现在有的客户概况信息已超过两年以上,而且客户已经搬家,但新的地址并没有在地址表中反映出来。邮寄清单必须经常更新,因为人们的工作会发生变化,他们的住址也随之改变。我们将这种不再正确的老地址称为失效数据。6.2数据清理6.2.3不一致数据处理(4)印刷错误的清理问题。英文单词会经常性地被误拼或误打,汉语词组也同样如此。6.2数据清理6.2.3不一致数据处理6.3数据集成数据挖掘任务常常涉及数据集成操作,即将来自多个数据源的数据,如:数据库、数据立方、普通文件等,结合在一起并形成一个统一数据集合,以便为数据挖掘工作的顺利完成提供完整的数据基础。数据集成(dataintegration)将多数据源中的数据进行合并处理,解决语义模糊性并整合成一致的数据存储。数据集成涉及模式集成、属性冗余、数据值冲突检测与消除这三个方面的问题。模式集成从多个异构数据库、文件或遗留系统提取并集成数据,解决语义二义性,统一不同格式的数据。因此,模式集成涉及实体识别(entityidentification),即如何表示不同数据库中的字段是同一个实体,如何将不同信息源中的实体匹配来进行模式集成。例如:如何确定一个数据库中的“customer-id”与另一个数据库中的“custom-id”是否表示同一实体。数据库与数据仓库通常包含元数据,所谓元数据就是关于数据的数据,这些元数据可以帮助避免在模式集成时发生错误。6.3数据集成6.3.1模式集成问题若一个属性可以从其它属性中推演出来,那这个属性就是冗余属性。如:一个顾客数据表中的平均月收入属性,就是冗余属性,显然它可以根据月收入属性计算出来。利用相关分析可以帮助发现一些比较隐蔽的数据冗余情况。例如:给定两个属性,则根据这两个属性的数值分析出这两个属性间的相互关系。属性A,B之间的相互关系可以根据以下计算公式分析获得。6.3数据集成6.3.2冗余问题记录行冗余同步进行。对于一个现实世界实体,其来自不同数据源的属性值或许不同。产生这样问题原因可能是表示的差异、比例尺度不同或编码的差异等。例如:重量属性在一个系统中采用公制,而在另一个系统中却采用英制。同样价格属性在不同地点采用不同货币单位,而且可能涉及不同的服务(如免费早餐)或税。这些语义的差异为数据集成提出许多问题。6.3数据集成6.3.3数据值冲突检测与消除问题6.4数据变换数据变换(datatransformation)就是将数据进行规范化和聚集。(1)平滑。帮助除去数据中的噪声,还可以将连续的数据离散化。主要技术方法有:分箱方法、聚类方法和回归方法。(2)聚集。对数据进行总结或合计操作。例如:每天销售额(数据)可以进行合计操作以获得每月或每年的总额。这一操作常用于构造数据立方或对数据进行多维度的分析。6.4数据变换(3)数据泛化(generation)。所谓泛化处理就是用更抽象(更高层次)的概念来取代低层次或数据层的数据对象。例如:街道属性,就可以泛化到更高
本文标题:第6章-数据预处理..
链接地址:https://www.777doc.com/doc-7577199 .html