数据挖掘的主要内容ppt课件.ppt
Java语言,WangY,1/32,“数据挖掘综述”Overview for Data Mining,Data Mining,2/32,Contents,1,2,3,4,Data Mining,3/32,主要内容,基本定义主要步骤体系结构主要任务支撑学科主要挑战,第1章 数据挖掘概论,Data Mining,4/32,数据挖掘的发展动力-需要是发明之母,数据爆炸问题 自动数据收集工具和成熟的数据库技术使得大量的数据被收集,存储在数据库、数据仓库或其他信息库中以待分析。我们拥有丰富的数据,但却缺乏有用的信息 解决方法:数据仓库技术和数据挖掘技术数据仓库(Data Warehouse)和在线分析处理(OLAP)数据挖掘:在大量的数据中挖掘感兴趣的知识(规则,规律,模式,约束),Data Mining,5/32,基本定义,数据挖掘:(1)按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,且进一步将其模型化的数据处理方法. (2)从大量的数据中挖掘哪些令人感兴趣的、有用的、隐含的、先前未知的和可能有用的模式或知识 数据仓库:是一个面向主题的、集成的、随时间布而变化的、不容易丢失的数据集合,支持管理部分决策的过程-W.H.INMON(数据仓库构造方面的领头设计师)。,第1章 数据挖掘概论,Data Mining,6/32,数据挖掘的步骤,简单多线性程稳定性面向对象,数据变换,第1章 数据挖掘概论,Data Mining,7/32,数据挖掘的应用领域,市场分析和管理,欺诈行为检测和异常模式,公司分析和风险管理,社会网络和Web挖掘,电信,军事,第1章 数据挖掘概论,Data Mining,8/32,数据库、机器学习、统计面临的挑战: 海量数据的挖掘的效率和可扩展性 在数据库中挖掘不同类型的知识 在不同抽象层上的交互式知识挖掘 数据挖掘结果的表示和可视化 处理噪声和不完全数据,学科领域和面临的挑战,第1章 数据挖掘概论,Data Mining,9/32,第1章 数据挖掘概论,典型数据挖掘系统的体系结构,数据仓库,数据清洗,过滤,数据库,数据库或数据仓库服务器,数据挖掘引擎,模式评估,图形用户界面,知识库,数据集成,Data Mining,10/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,11/32,为什么进行数据预处理?,现实世界的数据是“肮脏的”数据多了,什么问题都会出现不完整缺少数据值;缺乏某些重要属性;仅包含汇总数据;e.g., occupation=有噪声包含错误或者孤立点e.g. Salary = -10数据不一致e.g., 在编码或者命名上存在差异e.g., 过去的等级: “1,2,3”, 现在的等级: “A, B, C”e.g., 重复记录间的不一致性e.g., Age=“42” Birthday=“03/07/1997”,Data Mining,12/32,数据为什么会变“脏”?,不完整数据的成因数据收集的时候就缺乏合适的值数据收集时和数据分析时的不同考虑因素人为/硬件/软件 问题噪声数据(不正确的值)的成因数据收集工具的问题数据输入时的 人为/计算机 错误数据传输中产生的错误数据不一致性的成因不同的数据源违反了函数依赖性,Data Mining,13/32,数据预处理为什么是重要的?,没有高质量的数据,就没有高质量的挖掘结果高质量的决策必须依赖高质量的数据e.g. 重复值或者空缺值将会产生不正确的或者令人误导的统计数据仓库需要对高质量的数据进行一致地集成数据预处理将是构建数据仓库或者进行数据挖掘的工作中占工作量最大的一个步骤,Data Mining,14/32,数据质量的多维度量,一个广为认可的多维度量观点:精确度完整度一致性合乎时机可信度附加价值可解释性跟数据本身的含义相关的内在的、上下文的、表象的以及可访问性,Data Mining,15/32,数据预处理的主要任务,数据清理填写空缺的值,平滑噪声数据,识别、删除孤立点,解决不一致性数据集成集成多个数据库、数据立方体或文件数据变换规范化和聚集数据归约得到数据集的压缩表示,它小得多,但可以得到相同或相近的结果数据离散化数据归约的一部分,通过概念分层和数据的离散化来规约数据,对数字型数据特别重要,Data Mining,16/32,Data Mining,17/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,18/32,描述性数据汇总,动机:为了更好的理解数据获得数据的总体印像识别数据的典型特征凸显噪声或离群点度量数据的中心趋势均值、中位数、众数(模)、中列数度量数据的离散程度四分位数、四分位数极差、方差等,Data Mining,19/32,度量的分类,度量可以分为三类:分布式度量(distributive measure):将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样比如:count(),sum(),min(),max()等代数度量(algebraic):可以 通过在一个或多个分布式度量上应用一个代数函数而得到比如:平均值函数avg() ( avg() =sum()/count())整体度量(holistic):必须对整个数据集计算的度量比如:median(),mode(),rank(),Data Mining,20/32,度量中心趋势 (1),算术平均值加权算术平均截断均值(trimmed mean):去掉高、低极端值得到的均值e.g. 计算平均工资时,可以截掉上下各2的值后计算均值,以抵消少数极端值的影响中位数:有序集的中间值或者中间两个值平均整体度量;但是可以通过插值法计算近似值,Data Mining,21/32,度量中心趋势 (2),众数(Mode,也叫模):集合中出现频率最高的值单峰的(unimodal,也叫单模态)、双峰的(bimodal)、三峰的(trimodal);多峰的(multimodal)对于适度倾斜(非对称的)的单峰频率曲线,可以使用以下经验公式计算众数,Data Mining,22/32,对称 VS. 倾斜的数据,对称与正倾斜、负倾斜数据的中位数、均值和众数,Data Mining,23/32,度量数据的离散度 (1),最常用度量:极差、五数概括(基于四分位数)、中间四分位数极差和标准差极差(range):数据集的最大值和最小值之差百分位数(percentile):第k个百分位数是具有如下性质的值x:k%的数据项位于或低于x中位数就是第50个百分位数四分位数:Q1 (25th percentile), Q3 (75th percentile)中间四分位数极差(IQR): IQR = Q3 Q1 孤立点:通常我们认为:挑出落在至少高于第三个四分位数或低于第一个四分位数 1.5IQR处的值,Data Mining,24/32,度量数据的离散度 (2),五数概括: min, Q1, Median, Q3, max盒图:数据分布的一种直观表示方差和标准差方差s2:n个观测之x1,x2.xn的方差是标准差s是方差s2的平方根标准差s是关于平均值的离散的度量,因此仅当选平均值做中心度量时使用所有观测值相同则 s0,否则 s0方差和标准差都是代数度量,Data Mining,25/32,盒图示例,盒图:数据分布的一种直观表示,在盒图中:端点在四分位数上,使得盒图的长度是IQR中位数M用盒内的线标记胡须延伸到最大最小观测值该盒图为在给定时间段在AllElectronics的4个分店销售的商品单价的盒图分店1中位数$80Q1: $60Q3: $100,Data Mining,26/32,使用盒图的数据离散的可视化描述,Data Mining,27/32,基本统计类描述的图形显示直方图,常用的显示数据汇总和分布的方法:直方图、分位数图、q-q图、散布图和局部回归曲线直方图:一种单变量图形表示方法将数据分布划分成不相交的子集或桶,通常每个桶宽度一致并用一个矩形表示,其高度表示桶中数据在给定数据中出现的计数或频率,Data Mining,28/32,分位数图,一种观察单变量数据分布的简单有效方法显示所有的数据,允许用户评估总的情况和不寻常情况的出现绘出了分位数信息设xi是递增排序的数据,则每个xi都有相对应的fi,指出大约有100 fi 的数据小于等于xi,Data Mining,29/32,分位数分位数图(Q-Q 图),对着另一个单变量的分位数,绘制一个单变量分布的分位数允许用户观察是不是有从一个分布到另外一个分布的迁移,Data Mining,30/32,散布图,确定两个量化的变量之间看上去是否有联系、模式或者趋势的最有效的图形方法之一散布图中的每个值都被视作代数坐标对,作为一个点画在平面上易于观察双变量数据在平面上的分布,Data Mining,31/32,loess曲线,loess曲线为散布图添加一条平滑的曲线,以便更好的观察两个变量间的依赖模式Loess (local regression)意指“局部回归”,为了拟合loess曲线,需要两个参数:平滑参数 ,被回归拟合的多项式的阶,Data Mining,32/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,33/32,数据清理,业界对数据清理的认识“数据清理是数据仓库构建中最重要的问题”DCI survey数据清理任务填写空缺的值识别离群点和平滑噪声数据纠正不一致的数据解决数据集成造成的冗余,Data Mining,34/32,空缺值,数据并不总是完整的例如:数据库表中,很多条记录的对应字段没有相应值,比如销售表中的顾客收入引起空缺值的原因设备异常与其他已有数据不一致而被删除因为误解而没有被输入的数据在输入时,有些数据应为得不到重视而没有被输入对数据的改变没有进行日志记载空缺值要经过推断而补上,Data Mining,35/32,如何处理空缺值,忽略元组:当类标号缺少时通常这么做(假定挖掘任务设计分类或描述),当每个属性缺少值的百分比变化很大时,它的效果非常差。人工填写空缺值:工作量大,可行性低使用一个全局变量填充空缺值:比如使用unknown或-使用属性的平均值填充空缺值使用与给定元组属同一类的所有样本的平均值使用最可能的值填充空缺值:使用像Bayesian公式或判定树这样的基于推断的方法,Data Mining,36/32,噪声数据,噪声:一个测量变量中的随机错误或偏差引起不正确属性值的原因数据收集工具的问题数据输入错误数据传输错误技术限制命名规则的不一致其它需要数据清理的数据问题重复记录不完整的数据不一致的数据,Data Mining,37/32,如何处理噪声数据,分箱(binning):首先排序数据,并将他们分到等深的箱中然后可以按箱的平均值平滑、按箱中值平滑、按箱的边界平滑等等回归通过让数据适应回归函数来平滑数据聚类:监测并且去除孤立点计算机和人工检查结合计算机检测可疑数据,然后对它们进行人工判断,Data Mining,38/32,数据平滑的分箱方法,rice的排序后数据(单位:美元):4,8,15,21,21,24,25,28,34划分为(等深的)箱:箱1:4,8,15箱2:21,21,24箱3: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,Data Mining,39/32,聚类,通过聚类分析检测离群点,消除噪声聚类将类似的值聚成簇。直观的,落在簇集合之外的值被视为离群点,Data Mining,40/32,回归,x,y,y = x + 1,X1,Y1,Y1,Data Mining,41/32,数据清理做为一个过程 (1),第一步:偏差检测使用元数据(e.g. 每个属性的域、数值类型、依赖性、分布等)检查字段过载检查唯一性规则、连续性规则、空值规则使用偏差检查工具数据清理工具:使用简单的领域知识(e.g.邮编、拼写检查)检查并纠正数据中的错误数据审计工具:通过分析数据发现规则和联系及检测违反这些条件的数据来发现偏差,Data Mining,42/32,数据清理做为一个过程 (2),第二步:数据变换(纠正偏差)数据迁移工具:允许说明简单的变换ETL(提取/变换/装入)工具:允许用户通过GUI说明变换偏差检测和数据变换(纠偏)的迭代执行强调交互性的清理方法,Data Mining,43/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,44/32,数据集成,数据集成:将多个数据源中的数据整合到一个一致的存储中模式集成:整合不同数据源中的元数据e.g. A.cust_id = B.customer_no实体识别问题:匹配来自不同数据源的现实世界的实体 e.g. Bill Clinton = William Clinton检测并解决数据值的冲突对现实世界中的同一实体,来自不同数据源的属性值可能是不同的可能的原因:不同的数据表示,不同的度量等等,Data Mining,45/32,处理数据集成中的冗余数据,集成多个数据库时,经常会出现冗余数据对象识别:同一属性或对象在不同的数据库中会有不同的字段名可导出数据:一个属性可以由另外一个表导出,如“年薪”有些冗余可以被相关分析检测到仔细将多个数据源中的数据集成起来,能够减少或避免结果数据中的冗余与不一致性,从而可以提高挖掘的速度和质量。,Data Mining,46/32,分类(离散)数据的相关性分析,2 (chi-square)测试 2的值越大,意味着两个变量相关的可能性越大期望值和观测值之间相差越大,值也将越大相关性不意味着因果关系e.g. 我们发现一个地区的医院数和汽车盗窃数相关两者都必然的关联到第三个属性:人口,Data Mining,47/32,数据变换,数据变换将数据转换或统一成适合挖掘的形式平滑:去除数据中的噪声聚集:汇总,数据立方体的构建数据泛化:沿概念分层向上汇总规范化:将数据按比例缩放,使之落入一个小的特定区间最小最大规范化z-score规范化小数定标规范化属性构造通过现有属性构造新的属性,并添加到属性集中;以增加对高维数据的结构的理解和精确度,Data Mining,48/32,数据变换规范化,最小最大规范化z-score规范化最大最小值未知,或者离群点影响较大的时候适用小数定标规范化,其中,j是使 Max(| |)1的最小整数,Data Mining,49/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,50/32,数据归约 (1),为什么需要进行数据规约?数据仓库中往往存有海量数据在整个数据集上进行复杂的数据分析与挖掘需要很长的时间数据归约数据归约可以用来得到数据集的归约表示,它小得多,但可以产生相同的(或几乎相同的)分析结果,Data Mining,51/32,数据归约 (2),常用的数据归约策略数据立方体聚集维归约,e.g. 移除不重要的属性数据压缩数值归约,e.g. 使用模型来表示数据离散化和概念分层产生用于数据归约的时间不应当超过或“抵消”在归约后的数据上挖掘节省的时间,Data Mining,52/32,数据立方体聚集,最底层的方体对应于基本方体基本方体对应于感兴趣的实体在数据立方体中存在着不同级别的汇总数据立方体可以看成方体的格每个较高层次的抽象将进一步减少结果数据数据立方体提供了对预计算的汇总数据的快速访问使用与给定任务相关的最小方体在可能的情况下,对于汇总数据的查询应当使用数据立方体,Data Mining,53/32,维归约,通过删除不相干的属性或维减少数据量属性子集选择(特征选择)找出最小属性集,使得数据类的概率分布尽可能的接近使用所有属性的原分布减少出现在发现模式上的属性的数目,使得模式更易于理解启发式的(探索性的)方法逐步向前选择逐步向后删除向前选择和向后删除相结合判定归纳树,Data Mining,54/32,数据压缩,有损压缩 VS. 无损压缩字符串压缩有广泛的理论基础和精妙的算法通常是无损压缩在解压缩前对字符串的操作非常有限音频/视频压缩通常是有损压缩,压缩精度可以递进选择有时可以在不解压整体数据的情况下,重构某个片断两种有损数据压缩的方法:小波变换和主要成分分析,Data Mining,55/32,有损压缩 VS. 无损压缩,原始数据,压缩后的数据,无损压缩,近似的原始数据,有损压缩,Data Mining,56/32,数值归约,通过选择替代的、较小的数据表示形式来减少数据量有参方法使用一个参数模型估计数据,最后只要存储参数即可,不用存储数据(除了可能的离群点)常用方法:线性回归方法;多元回归;对数线性模型;无参方法不使用模型的方法存储数据常用方法:直方图,聚类,选样,Data Mining,57/32,回归分析与对数线性模型,线性回归:数据被拟合为一条直线Y = w X + b两个回归系数,w和b,由手头的数据来进行估算通常适用最小二乘法来确定这条直线多元回归:线性回归的扩充,允许响应变量Y被建模为两个或多个预测变量的线性函数Y = b0 + b1 X1 + b2 X2.多元回归可以拟合多种非线性函数对数线性模型:近似离散的多维概率分布。,Data Mining,58/32,直方图,一种流行的数据归约技术将某属性的数据划分为不相交的子集,或桶,桶中放置该值的出现频率桶和属性值的划分规则等宽等频(等深)V-最优具有最小方差MaxDiff,Data Mining,59/32,聚类,将数据集划分为聚类,然后通过聚类来表示数据集如果数据可以组成各种不同的聚类,则该技术非常有效,反之如果数据界线模糊,则方法无效数据可以分层聚类,并被存储在多层索引树中聚类的定义和算法都有很多选择将在第7章对聚类分析进行深入探讨,Data Mining,60/32,选样,允许用数据的较小随机样本(子集)表示大的数据集对数据集D的样本选择:s个样本无放回简单随机抽样(SRSWOR):由D的N个元组中抽取s个样本(sN)s个样本有放回简单随机抽样(SRSWR) :过程同上,只是元组被抽取后,将被回放,可能再次被抽取聚类选样:D中元组被分入M个互不相交的聚类中,可在其中的s个聚类上进行简单随机选择(SRS,mM)分层选样:D被划分为互不相交的“层”,则可通过对每一层的简单随机选样(SRS)得到D的分层选样,Data Mining,61/32,选样SRS,SRSWOR(简单随机选样,不回放),SRSWR,Data Mining,62/32,选样聚类/分层选样,原始数据,聚类/分层选样,Data Mining,63/32,第2章 数据预处理,为什么对数据进行预处理描述性数据汇总数据清理数据集成和变换数据归约离散化和概念分层生成,Data Mining,64/32,离散化,三种类型的属性值:名称型:无序集合中的值;e.g. 颜色、职业序数:有序集合中的值; e.g. 军衔、职称连续值;e.g. 实数离散化将连续属性的范围划分为区间有些分类算法只接受离散属性值通过离散化有效的规约数据离散化的数值用于进一步分析,Data Mining,65/32,离散化和概念分层,离散化通过将属性域划分为区间,减少给定连续属性值的个数区间的标号可以代替实际的数据值离散化可以在一个属性上递归的进行概念分层通过使用高层的概念(比如:青年、中年、老年)来替代底层的属性值(比如:实际的年龄数据值)来规约数据,Data Mining,66/32,数据数值的离散化和概念分层生成,典型方法(所有方法均可递归应用) 分箱(binning)分箱技术递归的用于结果划分,可以产生概念分层直方图分析(histogram)直方图分析方法递归的应用于每一部分,可以自动产生多级概念分层聚类分析将数据划分成簇,每个簇形成同一个概念层上的一个节点,每个簇可再分成多个子簇,形成子节点基于熵的离散化通过自然划分分段,Data Mining,67/32,通过自然划分分段,将数值区域划分为相对一致的、易于阅读的、看上去更直观或自然的区间。聚类分析产生概念分层可能会将一个工资区间划分为:51263.98, 60872.34通常数据分析人员希望看到划分的形式为50000,60000自然划分的3-4-5规则常被用来将数值数据划分为相对一致,“更自然”的区间,Data Mining,68/32,自然划分的3-4-5规则,规则的划分步骤:如果一个区间最高有效位上包含3,6,7或9个不同的值,就将该区间划分为3个等宽子区间;(72,3,2)如果一个区间最高有效位上包含2,4,或8个不同的值,就将该区间划分为4个等宽子区间;如果一个区间最高有效位上包含1,5,或10个不同的值,就将该区间划分为5个等宽子区间;将该规则递归的应用于每个子区间,产生给定数值属性的概念分层;对于数据集中出现的最大值和最小值的极端分布,为了避免上述方法出现的结果扭曲,可以在顶层分段时,选用一个大部分的概率空间。e.g. 5%-95%,Data Mining,69/32,3-4-5规则例子,(-$4000 -$5,000),第四步,Data Mining,70/32,分类数据的概念分层生成,分类数据是指无序的离散数据,它有有限个值(可能很多个)。分类数据的概念分层生成方法:由用户或专家在模式级显式的说明属性的部分序。通过显示数据分组说明分层结构的一部分。说明属性集,但不说明它们的偏序,然后系统根据算法自动产生属性的序,构造有意义的概念分层。对只说明部分属性集的情况,则可根据数据库模式中的数据语义定义对属性的捆绑信息,来恢复相关的属性。,Data Mining,71/32,属性集的规格,根据在给定属性集中,每个属性所包含的不同值的个数,可以自动的生成概念分成;不同值个数最多的属性将被放在概念分层的最底层。,country,province,city,street,5个不同值,65 个不同值,3567 个不同值,674,339 个不同值,Data Mining,72/32,第3章 数据仓库与OLAP技术,Data Mining,73/32,1.多维数据模型2.数据仓库的体系结构3.数据仓库实现4.从数据仓库到数据挖掘,Data Mining,74/32,多维数据模型 (1),数据仓库和OLAP工具基于多维数据模型在多维数据模型中,数据以数据立方体(data cube)的形式存在数据立方体允许以多维数据建模和观察。它由维和事实定义维是关于一个组织想要记录的视角或观点。每个维都有一个表与之相关联,称为维表。多维数据模型围绕中心主题组织,该主题用事实表表示事实表包括事实的名称或度量以及每个相关维表的关键字事实指的是一些数字度量,Data Mining,75/32,多维数据模型 (2) 示例,time_keydayday_of_the_weekmonthquarteryear,time 维表,location_keystreetcitystate_or_provincecountry,location 维表,Sales 事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,avg_sales,度量,item_keyitem_namebrandtypesupplier_type,item 维表,branch_keybranch_namebranch_type,branch 维表,Data Mining,76/32,多维数据模型 (3),在数据仓库中,数据立方体是n-D的(n维)(关系表和电子表格是几维的?)示例AllElectronics的销售数据按维time, item的2-D视图 AllElectronics的销售数据按维time, item和location的3-D视图AllElectronics的销售数据按维time, item和location的3-D视图的3-D数据立方体表示销售数据的4-D立方体表示多维数据模型为不同角度上的数据建模和观察提供了一个良好的基础,Data Mining,77/32,多维数据模型 (4),在数据仓库的研究文献中,一个n维的数据的立方体叫做基本方体。给定一个维的集合,我们可以构造一个方体的格,每个都在不同的汇总级或不同的数据子集显示数据,方体的格称为数据立方体。0维方体存放最高层的汇总,称作顶点方体;而存放最底层汇总的方体则称为基本方体。,Data Mining,78/32,数据立方体一个方体的格,all,time,item,location,supplier,time,item,time,location,time,supplier,item,location,item,supplier,location,supplier,time,item,location,time,item,supplier,time,location,supplier,item,location,supplier,time, item, location, supplier,0-D(顶点) 方体,1-D方体,2-D 方体,3-D 方体,4-D(基本) 方体,Data Mining,79/32,数据仓库的概念模型,最流行的数据仓库概念模型是多维数据模型。这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在。星型模式(Star schema): 事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数据,没有冗余。雪花模式(Snowflake schema): 是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加表中。结果,模式图形成类似于雪花的形状。事实星座(Fact constellations): 复杂应用可能需要多个事实表共享维表, 这种模式可以看作星型模式的汇集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation),Data Mining,80/32,星型模式实例,Sales Fact Table,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,avg_sales,Measures,Data Mining,81/32,雪花模式实例,Sales Fact Table,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,avg_sales,Measures,Data Mining,82/32,事实星座模式实例,Sales Fact Table,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,avg_sales,Measures,Shipping Fact Table,time_key,item_key,shipper_key,from_location,to_location,dollars_cost,units_shipped,Data Mining,83/32,一种数据挖掘查询语言: DMQL,DMQL首先包括定义数据仓库和数据集市的语言原语,这包括两种原语定义:一种是立方体定义,一种是维定义立方体定义 (事实表)define cube : 维定义 (维表)define dimension as ()特殊案例 (共享维表的定义)第一次作为维表定义 “cube definition”然后:define dimension as in cube ,Data Mining,84/32,实例:使用DMQL定义星型模式,define cube sales_star time, item, branch, location:dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*)define dimension time as (time_key, day, day_of_week, month, quarter, year)define dimension item as (item_key, item_name, brand, type, supplier_type)define dimension branch as (branch_key, branch_name, branch_type)define dimension location as (location_key, street, city, province_or_state, country),Data Mining,85/32,实例:使用DMQL定义雪花模式,define cube sales_snowflake time, item, branch, location:dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*)define dimension time as (time_key, day, day_of_week, month, quarter, year)define dimension item as (item_key, item_name, brand, type, supplier(supplier_key, supplier_type)define dimension branch as (branch_key, branch_name, branch_type)define dimension location as (location_key, street, city(city_key, province_or_state, country),Data Mining,86/32,实例:使用DMQL定义事实星座模式,define cube sales time, item, branch, location:dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*)define dimension time as (time_key, day, day_of_week, month, quarter, year)define dimension item as (item_key, item_name, brand, type, supplier_type)define dimension branch as (branch_key, branch_name, branch_type)define dimension location as (location_key, street, city, province_or_state, country)define cube shipping time, item, shipper, from_location, to_location:dollar_cost = sum(cost_in_dollars), unit_shipped = count(*)define dimension time as time in cube salesdefine dimension item as item in cube salesdefine dimension shipper as (shipper_key, shipper_name, location as location in cube sales, shipper_type)define dimension from_location as location in cube salesdefine dimension to_location as location in cube sales,Data Mining,87/32,度量的分类,一个数据立方体的度量是一个数值函数,该函数可以对数据立方体空间的每一个点求值。度量可以根据其所用的聚集函数分为三类:分布的(distributive):将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。比如:count(),sum(),min(),max()等代数的(algebraic):函数可以由一个带M个参数的代数函数计算(M为有界整数),而每个参数值都可以有一个分布的聚集函数求得。比如:avg(),min_N(),standard_deviation()整体的(holistic):描述函数的子聚集所需的存储没有一个常数界(无法以上述方法进行计算)。比如:median(),mode(),rank(),Data Mining,88/32,概念分层 (1),一个概念分层(concept hierarchy)定义一个映射序列,将低层概念映射到更一般的高层概念E.g. 表示location的概念:杭州浙江中国亚洲概念分层允许我们在各种抽象级审查和处理数据概念分层可以由系统用户、领域专家、知识工程师人工的提供,也可以根据数据分布的统计分析自动的产生,Data Mining,89/32,概念分层 (2): location维的一个概念分层,all,Europe,North_America,Mexico,Canada,Spain,Germany,Vancouver,M. Wind,L. Chan,.,.,.,.,.,.,all,region,office,country,Toronto,Frankfurt,city,许多概念分层的定义隐含在数据库的模式中。比如:location维的定义,officecitycountryregion;这些属性 按一个全序相关,形成一个层次结构:,year,day,quarter,month,week,维的属性也可以组成一个偏序,形成一个格:,Data Mining,90/32,概念分层 (3) 使用,概念分层为不同级别上的数据汇总提供了一个良好的基础综合概念分层和多维数据模型的潜力,可以对数据获得更深入的洞察力通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。多维数据模型(数据立方体)使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种OLAP操作,为用户从不同角度不同层次观察数据提供了灵活性:,Data Mining,91/32,多维数据模型上的OLAP操作 (1),上卷(roll-up):汇总数据通过一个维的概念分层向上攀升或者通过维规约当用维归约进行上卷时,一个或多个维由给定的数据立方体删除下钻(drill-down):上卷的逆操作由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现 (为给定数据添加更多细节)切片和切块(slice and dice)切片操作在给定的数据立方体的一个维上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方,Data Mining,92/32,多维数据模型上的OLAP操作 (2),转轴(pivot)立方体的重定位,可视化,或将一个3维立方体转化为一个2维平面序列转轴是一种可视化操作,通过转动当前数据的视图来提供一个数据的替代