数据仓库与数据挖掘第2章数据仓库原理第2章数据仓库原理2.1多数据源问题2.2数据预处理2.3E-R模型2.4数据仓库的概念模型2.5数据仓库的逻辑模型2.6数据仓库的物理模型2.1多数据源问题2.1多数据源问题1、多数据源数据仓库和数据挖掘的数据通常来自多种数据库或计算机应用系统或数据文件、web页面。2、多数据源在集成的问题(1)数据不一致:数据的不一致性主要指数据之间的矛盾性和不相容性。如职务升迁了,但工资数据却没有改变(2)属性差异:性别属性有的取“男”/“女”,长度为2;有的取“1”/“0”,长度为1。(3)数据重复:数据源中存在两条或多条完全相同的记录,或者同一个数据冗余地存在于多个数据源中。比如,某人的身份信息同时存在于常住人口和暂住人口数据库中。第3页2.1多数据源问题(4)数据不完整:某些属性的值可能是缺失的,甚至是错误的数据。用户在登记注册时通常输入昵称等作为姓名。(5)噪声数据:噪声是指测量数据时遇到的随机或其它不确定性因素,它导致被测量的数据产生了偏差或错误,称这种含有偏差或错误的数据为噪声数据。(6)高维数据:为较全面的描述实体,原始数据通常都使用了较多属性。比如,在常住人口数据库中,描述公民的基本信息就有128个属性。(7)模式不统一:即将集成为单一数据集的多个数据源的模式不同。比如,“常住人口数据”和“暂住人口数据”两张表,前者有128个属性,后者也有98个属性。(8)数据不平衡:即数据集中某一类样本的数量明显少于其它类型样本的数量。第4页2.2数据预处理1、数据预处理(datapreprocessing)在多数据源集成为统一数据集之前进行的数据清洗、数据变换、数据规约等数据处理过程。2、预处理的目的消除多数据源集成存在的问题,为数据仓库或数据挖掘提供一个完整、干净、准确、且有针对性的数据集合。第5页2.2数据预处理2.2.1数据清洗1、数据清洗(Datacleaning)发现并纠正数据源,即原始数据中存在的问题或错误的过程,包括检查数据一致性,处理无效值、填补缺失值,以及过滤掉那些不符合要求的数据等。(1)属性的处理:对多数据源含义相同的属性进行重命名和统一类型长度,选择设置主键和派生属性等处理。第6页2.2数据预处理①重命名属性:对数据仓库或数据挖掘需要的属性重新赋给它们含义明确,便于理解记忆和使用的属性名称。数据源使用“WHCD”和“CSRQ”分别作为公民“文化程度”和“出生日期”的属性名。在数据仓库中我们选用“Education”和“Birthday”来代替,不仅含义明确,且可读性强,使用方便。②统一属性:确保多个数据源中对同一实体特征的描述是统一的,包括属性的长度、类型,还有属性的值域。数据源常住人口的性别属性名为XB,类型为字符串,长度为2,取值{“男”,“女”},暂住人口表属性名仍为XB,但长度为1的字符,取值{“1”,“0”}。在数据仓库中属性名统一为Sex,类型仍为字符,长度为1,其属性的值域为{“1”,“0”}。第7页2.2数据预处理③处理主键属性:为建立挖掘结果和原始数据之间的直接对应关系的话,需要保留主键属性。在数据仓库中通常还要引进一些代理关键字,即人工引入或派生出来的关键字(详见3.4节)。④派生新属性:由日期属性派生出年、季、月、周、日等多个时间层次的时间属性。⑤选择相关属性:如果属性X的值可以由另外一个或多个属性值计算出来,称属性X和这些属性是相关的。在数据准备时只选择其中之一,或者选择属性X,或者选择它相关的属性。第8页2.2数据预处理2、空值的处理对原始数据中没有登记或没有输入的属性值——空值,使用某种对其进行补充或删除等预处理。①人工填补:优点是能够得到比较真实的数据,但通常人力耗费很大,而且速度较慢。②忽略记录:即将有空值的记录删除。③忽略属性:删除具有空值的列。④使用默认值:用一个固定的常数unknown或者*来填补。⑤使用平均值:用所有非空非空值的平均值来填补。⑥使用预测值:用一定的预测方法,计算得到空值属性最有可能的取值。第9页2.2数据预处理3、数据噪声处理数据噪声(DataNoise)一种难于解释的数据剧烈变动,它导致一组数据中某些数据与组内其它数据出现了极大的偏差。①分箱(binning):把数据集中所有数据放入不同箱子(区间)的过程称为分箱。一个实数区间称为一个箱子(bin),它通常是连续型数据集中最小值和最大值所包含的子区间。如果一个实数属于某个子区间,就称把该实数放进了这个子区间所代表的“箱子”。分箱技术是一种简单而常用的数据预处理方法,也是一种连续型数值的离散化方法。第10页2.2数据预处理(2)分箱技术的步骤:①对数据集的数据进行排序;②确定箱子个数k、选定数据分箱的方法并对数据集中数据进行分箱;③选定处理箱子数据的方法,并对其重新赋值。(3)常用分箱方法等深分箱、等宽分箱、自定义区间和最小熵分箱法。(4)一般假设箱子数为k,n(nk)个数据的数据集且按非减方式排序为S={a1,a2,…,an),即ai[a1,an]。第11页2.2数据预处理①等深分箱法:把数据集中的数据按照排列顺序分配到k个箱子中(k=1,2,…,k)。当k整除n时,令p=n/k,则每个箱子都有p个数据,即第1个箱子的数据为:a1,a2,…,ap;第2个箱子的数据为:ap+1,ap+2,…,a2p;第k个箱子的数据为:an-p+1,an-p+2,…,an;当k不能整除n时,令p=n/k,q=n-k*r,则可让前面q个箱子有p+1个数据,后面k-q个箱子有p个数据,即第1个箱子的数据为:a1,a2,…,ap+1;第2个箱子的数据为:ap+2,ap+3,…,a2p+2;;第k个箱子的数据为:an-p+1,an-p+2,…,an;也可让前面k-q个箱放p个数,后面q个箱放p+1个数据。第12页2.2数据预处理例2-1:设A={1,2,3,3,4,4,5,6,6,7,7,8,9,11}共14个数据,请用等深分箱法将其分成k=4个箱子。解:因为k=4,n=14,所以p=n/k=14/4=3,q=14-3*4=2。由于数据集A已排序,因此前2个箱放4个,后为2个箱放3个数据。第1个箱子B1={1,2,3,3},B2={4,4,5,6,},B3={6,7,7},B4={8,9,11}。第13页2.2数据预处理②等宽分箱法。把数据集最小值和最大值形成的区间分为k个左闭右开的子区间(最后一个除外)I1,I2,…,Ik。如果aiIj就把数据ai放入第j个箱子。例2-2:设A={1,2,3,3,4,4,5,6,6,7,7,8,9,11}共14个数据,请用等宽分箱法将其分成k=4个箱子。解:A的最小值和最大值区间为[1,11],k=4,子区间平均长度(11-1)/4=2.5,即I1=[1,3.5),I2=[3.5,6),I3=[6,8.5),I4=[8.5,11]。按照等宽分箱法有B1={1,2,3,3},B2={4,4,5},B3={6,6,7,7,8},B4={9,11}。第14页2.2数据预处理③用户自定义区间。当用户明确希望观察某些区间范围内的数据分布时,可以根据实际需要自定义区间。数据平滑:对每个箱子中数据进行单独重新赋值。三种常见方法:按平均值、按边界值和按中值平滑。①按平均值平滑。对同一个箱子中的数据求平均值,并用这个平均值替代该箱子中的所有数据。对于例2-3所得4个箱子,用这个方法平滑的结果为:B1={1,2,3,3}平滑结果为{2.25,2.25,2.25,2.25}B2={4,4,5}平滑结果为{4.33,4.33,4.33}B3={6,6,7,7,8,9}平滑结果{7.17,7.17,7.17,7.17,7.17,7.17}B4={11}的平滑结果为{11}。第15页2.2数据预处理4、不平衡数据处理(1)过抽样(oversampling)在样本集中通过增加少数类的样本来提高少数类样本的数量,最简单的办法是复制少数类样本。这种方法的缺点是引入了额外的训练数据,会延长构建分类器所需要的时间,没有给少数类增加任何新的信息,而且可能会导致过度拟合。(2)欠抽样(undersampling)该方法通过减少多数类样本的数量来提高少数类样本在样本集中的比例。最简单的方法是通过随机方法,去掉一些多数类样本来减小多数类的规模。这种方法的缺点是会丢失多数类样本的一些重要信息,已有的信息利用得不够充分。第16页2.2数据预处理2.2.2数据变换1、数据聚集对数据按照管理或挖掘需要进行汇总。如果希望分析客户的经济背景情况对购买能力的影响,只需要关心客户消费的金额,而不需要了解客户购买了什么商品以及商品的数量、价格等信息。2、数据概化用较高层次的数据代替较低维度层次的数据称为数据的概化(datageneralization),也翻译为数据概括。比如用“时”或“日”的数据来替换“秒”和“分”的数据。3、数据规范化将原始数据按照一定的比例缩放,使之落入一个特定的区间。第17页2.2数据预处理(1)最小-最大规范化最小-最大规范化(MIN-MAXnormalization)假设数据的取值区间为[OldMin,OldMax],并把这个区间映射到新的取值区间[NewMin,NewMax]。这是一个线性变换过程,变量被映射到新区间的值通过下面的公式计算得出。x[OldMin,OldMax],唯一x’[NewMin,NewMax],其中显然,如果令NewMin=0,NewMax=1,则公式就是对原始数据的无量纲化处理。第18页2.2数据预处理(2)零-均值规范化零-均值规范化(z-scorenormalization)是根据属性值的平均值和标准差进行规范化,即其中,为所有样本属性值的平均值,X为样本标准差。标准差也被称为标准偏差,或者实验标准差,简单来说,标准差是一组数据平均值分散程度的一种度量。假设有一组数值X₁,X₂,X₃,......Xn(皆为实数),其平均值(算术平均值)为μ,公式为:第19页2.2数据预处理(3)小数定标规范化小数定标规范化(decimalscalingnormalization)通过移动属性值的小数点位置进行规范化。小数点移动的位数根据属性的最大绝对值确定。对样本集中任一数据点x,其小数定标规范化为其中,α是使Max(|X’|)1的最小整数。第20页2.2数据预处理2.2.3数据归约数据归约(datareduction)(也称为数据约简):用精简数据表示原始数据的方法,且归约后数据量通常比原始数据小很多,但具有接近甚至等价于原始数据表达的信息。1、维归约(dimensionalityreduction)减少描述问题的随机变量个数或者数据集的属性个数,后者又称属性约简(attributesreduction)。2、数量归约(numerosityreduction)用较少的数据表示形式替换原始数据。3、数据压缩(datacompression)使用变换方法得到原数据的归约或“压缩”表示,图像压缩技术就是一种典型的数据压缩方法。第21页2.3E-R模型1、E-R模型中的基本概念(1)实体(Entity):客观存在并可相互区别的事物。(2)属性(Attribute):描述实体的每一个特征。姓名、性别(3)关键字(Key):能唯一地标识实体集中每个实体的属性集合称为关键字或者码。。(4)联系:实体之间的联系(Relation),有3种类型。①一对一(1:1)②一对多(1:n)③多对多(m:n)2、E-R图的要素(1)实体(集、型):用矩形表示,矩形框内写明实体名;(2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。第22页2.3E-R模型(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关的实体连接起来,同时在无向边的旁边标上联系的类型。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。(4)联系的类型:(1:1),或(1:n),或(m:m)例2-8公民实体集与旅馆实体集及其联系的E-R图第23页2.4数据仓