PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理1Introductionto商务智能方法与应用第7章数据预处理Chapter7:DataPreprocessingPrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理2主要内容7.1数据预处理的原因和任务7.2数据规范化7.3数据离散化PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理37.1数据预处理的原因和任务(1)数据离散化(discretization)(2)数据规范化(normalization)(3)数据清洗(datacleaning)(4)特征提取与特征选择PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理47.2数据规范化数据规范化又称标准化(standardization),通过将属性的取值范围进行统一,避免不同的属性在数据分析的过程中具有不平等的地位常用方法最小-最大法(min-maxnormalization)z-scorePrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理5最小-最大法假设需要映射到目标区间为[L,R]。原来的取值范围为[l,r],则根据等比例映射的原理,一个值x映射到新区间后的值v的计算方法如下:例如,对于描述客户的属性“年收入(万元)”,如果原来的取值范围为[3,200],新的取值范围为[0,1],则若某客户的年收入为60万元,规范化后为(60-3)/(200-3)=0.29()xlvRLLrlPrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理6z-scorez-score,又称零均值规范化(zero-meannormalization)。给定一个属性A,设其取值的均值为A,标准差为A,A的某个取值x规范化后的值v计算如下:均值为A和标准差为A通过已有样本的属性值进行计算。规范化后的属性A取值的均值为零例如,年收入属性的均值为82,标准差为39,则年收入60万规范化后为-0.31AAxvPrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理77.3数据离散化PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理87.3数据离散化7.3.1分箱离散化7.3.2基于熵的离散化7.3.3离散化方法ChiMergePrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理97.3.1分箱离散化等距离分箱、等频率分箱等距离(equal-distance)分箱又称为等宽度分箱(equal-widthbinning),是将每个取值映射到等大小的区间的方法给定属性A的最小和最大取值分别为min和max,若区间个数为k,则每个区间的间距为I=(max-min)/k,区间分别为[min,min+I)、[min+I,min+2I)、…、[min+(k-1)I,min+kI]等距离分箱可能导致属于某些的取值非常多,而某些又非常少PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理107.3.1分箱离散化等频率(equal-frequency)分箱又称等深度分箱(equal-depthbinning)。它将每个取值映射到一个区间,每个区间内包含的取值个数大致相同例如:假设14个客户的属性“年收入”的取值按顺序为:20,40,50,58,65,80,80,82,86,90,96,105,120,200利用等距离分箱,区间的个数为4,则区间间距为(200-20)/4=45,则4个箱的区间分别为[20,65),[65,110),[110,155),[155,200]利用等频率分箱,每箱3个值,则4个箱分别为[20,40,50],[58,65,80,80],[82,86,90],[96,105,120,200]PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理117.3.2基于熵的离散化分箱离散化由于是一种无监督离散化方法基于熵的离散化方法是常用的有监督的离散化方法给定一个数据集D及分类属性的取值,即类别集合C={c1,c2,…,ck},数据集D的信息熵entropy(D)的计算公式其中p(ci)=count(ci)/|D|,count(ci)表示类别ci在D中出现的次数,|D|代表D中的数据行数,即对象个数。信息熵的取值越小,类别分布越纯,反之越不纯21entropy()()log()kiiiDpcpcPrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理127.3.2基于熵的离散化首先将D中的行按照属性A的取值进行排序。分割的方法是利用条件Av,v是A的一个取值。相应地,数据集D按照此条件分裂为两个子数据集:D1,D2,综合这2个子数据集的信息熵作为衡量这种分割优劣的度量,entropy(D,v),一个数据集D按Av分裂前后信息熵的差值称为信息增益,记为gain(D,v)gain(D,v)=entropy(D)-entropy(D,v)1212||||entropy(,)()()||||DDDventropyDentropyDDDPrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理13基于熵的离散化Entropy(D,40)=-2/5(2/2log22/2)-3/5(2/3log22/3+1/3log21/3)=0.52Entropy(D,58)=-4/5(1/2log21/2+1/2log21/2)-1/5log21=0.8gain(D,40)=0.97-0.52=0.45gain(D,58)=0.97-0.8=0.17年收入豪华车20否40否50是58是65否PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理147.3.3离散化方法ChiMerge如果基于熵的方法可以看作是自顶向下的分裂方法,则ChiMerge则属于自底向上的合并方法ChiMerge则是从每个值都是一个小区间开始,不断合并相邻区间成为大的区间,它是基于统计量卡方检验实现的豪华车=是豪华车=否合计[0,30]0(N11)1(N12)1(R1)[30,45]0(N21)1(N21)1(R2)合计0(C1)2(C2)222211()kijijijijNEE12=ijijRCERRk为类别的个数PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理157.3.3离散化方法ChiMerge(1)将待离散化属性“年收入”的取值排序,生成只含有单个取值的区间,以相邻两个值的中点为分界,初始区间为[0,30],[30,45],[45,54],[54,61.5],[61.5,+]。(2)对两个相邻区间构建列联表年收入豪华车20否40否50是58是65否豪华车=是豪华车=否合计[0,30]0(N11)1(N12)1(R1)[30,45]0(N21)1(N21)1(R2)合计0(C1)2(C2)2PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理16ChiMergePrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理177.4数据清洗PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理18数据清洗处理数据的缺失、噪音数据的处理以及数据不一致的识别和处理处理数据的缺失如果数据集含有分类属性,一种简单的填补缺失值的方法为,将属于同一类的对象的该属性值的均值赋予此缺失值;对于离散属性或定性属性,用众数代替均值更复杂的方法,可以将其转换为分类问题或数值预测问题PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理19数据清洗噪音数据的处理一类是识别出噪音,将其去除;另一类是利用其它非噪音数据降低噪音的影响,起到平滑(smoothing)的作用。孤立点的识别属于第一类方法,上一章中介绍聚类算法DBSCAN时提到过,最终不属于任一个簇的点可以看作噪音。分箱(binning)方法可以用于平滑噪音。例如,将年收入的缺失值填补之后,将其取值利用分箱法平滑噪音。PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理207.5特征提取与特征选择PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理217.5.1特征选择介绍面向分类的特征选择方法。有效地特征选择不仅降低数据量,提高分类模型的构建效率,有时还可以提高分类准确率。特征选择方法有很多,总结它们的共同特点,其过程可以分为以下几步:①根据一定的方法选择一个属性子集;②衡量子集的相关性;③判断是否需要更新属性子集,若是,转第1步继续,若否,进入下一步;④输出最终选取的属性子集。PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理22属性子集的选择选择属性子集的方法,一般采用启发式方法,只检验部分可能性比较大的子集,这样可以快速完成属性的选择常用的方法包括:逐步增加法(stepwiseforwardselection)、逐步递减法(stepwisebackwardelimination)、随机选取。PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理23衡量子集的相关性第二步中,通常采用两类不同的方法一类称为filter方法,利用距离、信息熵以及相关度检验等方法直接衡量属性子集与类别的关联;另一类称为wrapper方法,利用分类模型来衡量属性子集的效果,通常效率很低PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理24Relief:给定数据集D,属性集A={A1,A2,…,Am,class},权重阈值,样本个数N,主要步骤1.初始化每个属性Ai的权重wi=0,j=0,数值属性规范化到[0,1];2.从D中随机抽取一个对象作为样本x,从与x类别相同的对象中选取一个距离与x最近的样本h,h称为x的near-hit;从与x类别不同的对象中选取一个距离与x最近的样本s,s称为x的near-miss;3.对于每个属性Ai,调整其权重如下:wi=wi-d(x.Ai,h.Ai)+d(x.Ai,s.Ai)(7-8)4.j=j+1;如果jN,转至步骤2。否则,输出那些权重大于阈值的属性PrinciplesandApplicationsofBusinessIntelligenceChap7:数据预处理25Reliefwi=wi-d(x.Ai,h.Ai)+d(x.Ai,s.Ai)x.Ai代表对象x属性