2020/7/214.数据预处理2020/7/22020/7/22为什么要进行数据挖掘?现实世界的数据是脏的不完整:缺乏属性值,缺乏有意义的属性,或者只包含了汇总数据e.g.,occupation=“”有噪声:包含错误的数据或异常值e.g.,Salary=“-10”不一致:在代码或者名字中存在矛盾或不一致e.g.,Age=“42”Birthday=“03/07/1997”e.g.,Wasrating“1,2,3”,nowrating“A,B,C”e.g.,discrepancybetweenduplicaterecords2020/7/23为什么数据预处理重要?Noqualitydata,noqualityminingresults!Qualitydecisionsmustbebasedonqualitydatae.g.,duplicateormissingdatamaycauseincorrectorevenmisleadingstatistics.DatawarehouseneedsconsistentintegrationofqualitydataDataextraction,cleaning,andtransformationcomprisesthemajorityoftheworkofbuildingadatawarehouse2020/7/24数据预处理的主要内容:2020/7/25数据预处理的主要内容一、原始数据的表述二、数据清理三、数据变换四、元组的归约五、属性的归约2020/7/22020/7/26数据样本是数据挖掘过程的基本组成部分。一、原始数据的表述每个样本都用几个特征来描述,每个特征有不同类型的值。2020/7/272020/7/2常见的数据类型有:数值型和分类型。数值型包括实型变量和整型变量注:具有数值型值的特征有两个重要的属性:其值有顺序关系和距离关系。2020/7/282020/7/2一个有两个值的分类型变量:分类型变量的两个值可以平等或不平等。原则上可以转化成一个二进制的数值型变量,这种数值型变量有两个值:0或1;而有N值的分类型变量原则上可以转化成一个二进制的数值型变量,这种数值型变量有N个值。2020/7/292020/7/2例如:如果变量“眼睛颜色”有4个值:黑色、蓝色、绿色、褐色。特征值编码黑色1000蓝色0100绿色0010褐色00012020/7/2102020/7/2变量的分类:连续型变量和离散型变量。连续型变量也认为是定量型或是量度型,是指在一定区间内可以任意取值的变量。离散型变量也叫定性型变量,是指全部可能取到的不相同的值是有限个的变量。注:一种特殊类型的离散型变量是周期变量,例如:星期、月和年中的日期。2020/7/2112020/7/2与时间有关的数据分类:静态数据——数据不随时间变化而变化动态数据(时间数据)——随时间变化而变化的属性。注:大多数数据挖掘方法更适用于静态数据,在对动态数据进行挖掘时要有特殊的考虑和预处理。2020/7/212二、数据清理——缺失值的填补2020/7/2对数据挖掘的实际应用而言,即使数据量很大,具有完整数据的案例也非常少,这样就面临数据的缺失问题。应用数据挖掘方法之前如何处理这样现象,最简单的办法是减少数据集,去掉所有有缺失值的样本。如果我们不想扔掉这些有缺失值的样本,就必须找到它们的缺失值,用什么方法来实现呢?填补缺失值。2020/7/2131、单一填补法(1)均值填补法。均值填补法是根据与含缺失值的目标属性相关性高的其它属性的信息将样品分为若干组,然后分别计算各组目标属性的均值,将各组均值作为组内所有缺失项的填补值。均值填补的优点是操作简便,并且可以有效地降低其点估计的偏差。但它的缺点也比较突出:首先,由于同组中的缺失值由同一个值填补,填补结果歪曲了目标属性的分布;其次,也导致在均值和总量估计中对方差的低估。2020/7/22020/7/214例:2020/7/215均值填补:2020/7/216(2)随机填补法。随机填补法是采用某种概率抽样的方式,从有完整信息的元组中抽取缺失数据的填补值的方法。它虽然能够避免均值填补中填补值过于凝集以及容易扭曲目标属性分布的弱点,使得填补值的分布与真值分布更为接近。但它却增大了估计量的方差,并且稳定性不够。2020/7/22020/7/217(3)热卡填补法。热卡填补法(hotdeckimputation)是规定一个或多个排序属性,按其观察值大小对全部观察单位排序,如果选择的是两个以上的属性,排序按属性的入选顺序依次进行。排序属性值完全相同的观察单位称为匹配,缺失值就用与之匹配的观察单位的属性值来填补。如果有多例相匹配,可取第一例或随机取其一。如果没有相匹配的,可以每次减少一个排序属性,再找相匹配的元组。如果直到最后一个排序属性,还没有找到相匹配的,则需要重新规定排序属性。2020/7/2项目性别年龄学生身分收入办卡1男45否高会2女31~45否高会3女20~30是低会4男20是低不会5女20~30是中不会6女20~30否中会7女31~45否高会8男31~45是中不会9男31~45否中会10女20是低会2020/7/218(4)回归填补法。回归填补法是指在现有观察值基础上,以含有缺失值的目标属性为因变量,以与目标属性相关性高的其它属性为自变量,建立最小二乘回归模型或判别模型,以估计缺失值。注意:以上几种方法都存在扭曲样本分布的问题,如均值填补会降低属性之间的相关关系,回归填补则会人为地加大变量之间的相关关系等。2020/7/22020/7/219例:2020/7/2202020/7/2(二)异常值(孤立点)探测在大型数据集中,通常存在着不遵循数据模型的普遍行为的样本,这些样本和其他残余部分数据有很大不同或不一致,叫做异常点。异常点可能是由测量误差造成的,也可能是数据故有的可变性结果。例如:在检测银行交易中的信用卡欺诈行为时,异常点是可能揭示欺诈行为的典型例子。2020/7/2212020/7/2异常值的探测方法第一,一维样本异常点的检测方法例如:如果所给的数据集用20个不同的值描述年龄特征:3,56,23,39,156,52,41,22,9,28,139,31,55,20,-67,37,11,55,45,37均值=39.9;标准差=45.65阈值=均值±2×标准差那么,所有在[-54.1,131.2]区间以外的数据都是潜在的异常点。根据实际可以把区间缩减到[0,131.2],由这个标准发现3个异常点:156,139,-67。2020/7/2222020/7/2第二,基于距离的异常点检测(二维以上数据)例如:数据集为:S={S1,S2,S3,S4,S5,S6,S7}={(2,4),(3,2),(1,1),(4,3),(1,6),(5,3),(4,2)}欧氏距离d=[(X1-X2)2+(Y1-Y2)2]1/2取阈值距离为d=32020/7/223异常点2020/7/224根据所用程序的结果和所给的阈值,可选择S3和S5作为异常点。2020/7/225第三:基于分类预测模型的异常值探测异常值的探测也可以认为是一类特殊的分类问题。因为对于一般的分类问题,考虑的是如何将各种类别有效地分开,而在异常值探测中,分类的目标是准确地描述总体的正常行为特征,在此之外大范围的其它对象被视为异常值。其基本思想是:对总体的特征建立分类模型,形成正常行为的特征库;然后针对新的数据判断其是否属于正常行为,从而认定其是否与总体偏离,发生偏离的即是异常值。根据所建立的分类器的不同,异常值的探测方法有以下几种:决策树分类;贝叶斯分类;神经网络分类;聚类。2020/7/22020/7/226异常值探测的应用信用卡、保险行业以及电信用户欺诈行为的探测。异常值探测对于欺诈行为的发现,主要是基于这样的思想:任何人在使用信用卡、投保和电信消费的正常行为都是有一定的规律的,并且可以通过这些行为产生的信息总结出这些规律;由于欺诈行为和正常的行为存在严重的差异,检查出这些差异就可以探测出是否存在欺诈发生。因此可以认为,欺诈行为的发现过程就是一种异常数据的挖掘过程。2020/7/22020/7/227具体的实现途径是:利用聚类、神经网络和决策树等分类方法,通过分析用户的购买、投保或消费习惯,细分客户,以此分辨出偏离模式的信用卡欺诈行为;然后,推导出合法交易的定义,建立模型;利用模型来分析一个新的交易是合法还是非法。也可以通过六西格玛探测、聚类等方法,寻找出与正常投保行为有极大差别的不正常行为,即有可能的欺诈行为。除了利用上述技术对异常数据进行识别外,还可以通过关联规则的Apriori算法寻找异常数据间的隐含模型,从而达到反欺诈的目的。2020/7/22020/7/228例如:对电信用户的欺诈行为探测的具体做法是:首先,将目标属性定为无意欠费客户和恶意欠费两类;其次,选择属性作为输入属性,通常包括服务合同属性(如服务类型、服务时间、交费类型等)、客户的基本状态(如性别、年龄、收入、婚姻状况、受教育年限/学历、职业、居住地区等)以及经常或定期改变的数据(如每月消费金额、交费纪录等);然后,将分类方法用于预先选定的包含客户欠费状态的训练集中,从而挖掘归纳出规则集;最后,利用所获取的规则,对电信企业新用户的缴费情况进行预测分类,从而达到预防欺诈的目的。2020/7/22020/7/229三、数据变换数据变换是将数据转换成适合于挖掘的形式。数据变换可能涉及到如下内容:数据规范化数据平滑数据概化2020/7/22020/7/230为什么要进行标准化?一些数据挖掘方法,需要对数据进行标准化以获得最佳的效果。例如,对于分类算法,如涉及神经网络的算法或诸如最临近分类和聚类的距离度量分类算法,都需要将训练样本属性度量输入值规范化,这样有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属性相比,权重过大。(一)规范化(标准化)2020/7/231kiiXX10/小数缩放移动小数点,但是要仍然保持原始数据的特征。小数点的移动位数依赖于X的最大绝对值。典型的缩放是保持数值在-1和1范围内,可以用格式描述:1kMaxX是使得的最小整数。1、小数缩放规范化是指通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。2020/7/232)min()max()min(iiiiiXXXXX2、最小-最大规范化最小-最大规范化是对原始数据进行线性变换。最小-最大规范化的格式:从而将X的值映射到[0,1]中。2020/7/2333、标准差规范化(Z-SCORE规范化)标准差规范化是将某个属性的值基于其平均值和标准差进行规范化。标准差规范化的格式是其中:是均值;是标准差。注意:该方法适用于当属性X的最大和最小值未知,或孤立点左右了最大-最小规范化的情况下。2020/7/2SXXXiiXS2020/7/234为什么要进行数据的平滑?一个数值型的特征可能包含许多不同的值。对许多数据挖掘技术来说,这些值之间小小的区别并不重要,但可能会降低挖掘方法的性能并影响最终的结果。因此,对变量的值进行平滑处理很重要。(二)数据平滑(离散化)2020/7/2352020/7/2数据平滑:是指去掉数据中的噪声。这种技术包括分箱技术、聚类和回归。例如:进行圆整处理。如果给定特征的值的集合是平滑后的集合是}98.401.503.599.202.3001.101.193.0{}0.50.50.50.30.30.10.10.1{smoothedX2020/7/2361、分箱分箱方法是通过考察“邻居”来平滑存储数据的值。存储的值被分布到一些“桶”或“箱”中。由于分箱方法参考的是相邻的值,因此,它进行的是局部平滑。分箱方法有