收藏 分享(赏)

大学课件ch14数据仓库与数据挖掘(1).ppt

上传人:微传9988 文档编号:1973920 上传时间:2018-08-30 格式:PPT 页数:89 大小:517.50KB
下载 相关 举报
大学课件ch14数据仓库与数据挖掘(1).ppt_第1页
第1页 / 共89页
大学课件ch14数据仓库与数据挖掘(1).ppt_第2页
第2页 / 共89页
大学课件ch14数据仓库与数据挖掘(1).ppt_第3页
第3页 / 共89页
大学课件ch14数据仓库与数据挖掘(1).ppt_第4页
第4页 / 共89页
大学课件ch14数据仓库与数据挖掘(1).ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

1、2018年8月30日星期四,数据库教程(沈-06.8),1,第四部分 新技术篇,ch.14数据仓库与数据挖掘1. 概述2. 数据仓库3 .数据挖掘,2018年8月30日星期四,数据库教程(沈-06.8),2,Ch14. 1.概述,(1)数据管理的层次结构(2)数据仓库的产生(3)从数据仓库到数据挖掘,2018年8月30日星期四,数据库教程(沈-06.8),3,Ch14. 1.概述,(1)数据管理的层次结构下图不同管理层次的三类信息系统:,2018年8月30日星期四,数据库教程(沈-06.8),4,Ch14. 1.概述,事务处理系统(TPS,Transaction Processing Syst

2、em)对于基层管理人员来说,所要完成的数据管理任务基本上是针对某种业务应用来做单项性管理。对这个层次的信息系统来说,一般是掌握基层业务部门的操作信息、运行状态、完成日常管理。本书介绍的关系数据库技术,建立相应的联机事务处理系统(OLTP,Online Transaction Processing),显然能很好地完成这项任务。 管理信息系统(MIS,Management Information System)对于中层管理人员来说,所要完成的数据管理任务是起承上启下的作用,一方面要综合有关基层部门的有关信息,另一方面要向高层领导提供相关决策信息,并落实高层领导提出的全局性总目标。本书介绍的关系数据

3、库技术,基于OLTP建立的信息系统,信息内容适合综合化处理,也可以较好地完成任务。 决策支持系统(DSS,Decision Support System)对于高层领导人员来说,主要的任务是制定企事业单位的总目标并提出落实总目标的方针与预算。在这一层次,数据管理的任务重要应是对数据的决策分析。目前,数据都是DBMS统一管理,企事业单位都相应建立起了操作型数据库。以下我们看到,在这种操作型数据库基础上,想要构建DSS,有很大困难,是不适合的。在这种背景下,数据仓库(Data Warehouse)技术应运而生。,2018年8月30日星期四,数据库教程(沈-06.8),5,Ch14. 1.概述,(2)

4、数据仓库的产生 数据管理对于高层管理人员,主要是进行决策分析。从决策分析的要求看,传统的操作型数据库,所建立OLTP系统是很不合适的。为什么呢?可从决策分析所需要数据有以下几个方面的特征来看: 面向主题:决策分析都是围绕一些主题而展开的,如销售企业,围绕顾客、供应商、产品、销售组织等主题,关注决策者关注的数据建模与分析,而不把注意力放在机构的日常操作和事务处理。对于决策分析的主题来说,所需的数据多为总结性数据,而不一定需要操作型数据库大量存放的细节数据。这也正解释高层管理人员对现行数据管理的一种批评“数据丰富,信息贫乏”。 集成的:决策分析所需数据将是多种异构数据源,不但需要本单位的数据,也需

5、要有关的其他单位的数据。这些数据有些来自各类数据库,有些来自文件,也有些来自Internet网获取的HTML文件。所需的数据是多种异构数据源的集成。 时变的:决策分析不但需要反映当前情况的数据(如23个月),还需要历史数据(通常是510年),以便分析变化趋势,进行决策。由于数据须在时间维上展开,数据量将是非常巨大的。 非易失的:决策分析所需的数据不一定需要及时更新,通常只需两种访问方式:数据的初始化装入和以读为主的访问。 在这样的背景下,数据仓库技术应运而生。,2018年8月30日星期四,数据库教程(沈-06.8),6,Ch14. 1.概述,20世纪80年代中期,提出了数据仓库的概念。到底什么

6、是数据仓库?可以有多种方式定义,很难提出一个严格的定义。现在通常采用被称为数据仓库之父的W.H. Inmon的说法作为定义:“数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程”。(3)从数据仓库到数据挖掘 对于构建的数据仓库,如何使用?数据仓库系统的用户界面包括的若干决策工具和接口,其中一个重要的技术就是数据挖掘(Data Mining,简称维DM,也称为知识发现KDD,Knowledge Discovery in DB and DW)。,2018年8月30日星期四,数据库教程(沈-06.8),7,Ch14. 2. 数据仓库,(1)概述 (2)数据仓库的建立数

7、据模型、数据模式 (3)OLAP技术,2018年8月30日星期四,数据库教程(沈-06.8),8,Ch14. 2. 数据仓库,(1)概述 1)数据仓库的定义 现对数据仓库定义中的4个特性作进一步解释: 主题性:传统的操作型数据库系统都是围绕某一企事业单位的应用来组织数据的,而数据仓库系统则是用于决策分析,要面向主题来组织数据。下图表示数据组织围绕保险公司面向主题的一个例子。,2018年8月30日星期四,数据库教程(沈-06.8),9,Ch14. 2. 数据仓库,集成性:面向应用的操作型数据库系统,对不同应用有不同的表示方法,而当数据进入数据仓库时,必须消除各种应用问题的许多不一致性。如图示例说

8、明数据仓库的集成问题。,2018年8月30日星期四,数据库教程(沈-06.8),10,Ch14. 2. 数据仓库,时变性:操作型数据库一般的数据时间期限是6090天,而数据仓库通常要存放510年的数据;操作型数据库含有“当前值”的数据,其准确性在访问时是有效的,但此当前值数据能被更新。而数据仓库中的数据仅仅是一系列某一时刻生成的复杂的快照;操作型数据库的基本结构中可能包含也可能不包含时间元素,如年、月、日等。而数据仓库中的基本数据结构总是包含某种时间元素。图示例说明数据随时间变化的问题。,2018年8月30日星期四,数据库教程(沈-06.8),11,Ch14. 2. 数据仓库,非易失性:对于传

9、统的操作型数据库通常是一次访问或处理一到若干个记录,可随时对数据进行更新;但数据仓库中的数据具有非常不同的特性:其数据仓库不进行一般意义下的数据更新。图表示数据的非易失性问题。,2018年8月30日星期四,数据库教程(沈-06.8),12,Ch14. 2. 数据仓库,2)DBS与DWS DBS是我们前面详细讲过的一种数据管理系统,第一部分就概述了系统组成结构的三大部分:数据库、数据管理系统和用户界面。联机操作型数据库系统主要任务是执行联机事务和查询处理,所以,这种系统也称为联机事务处理系统(OLTP,Online Transaction Processing)。 数据仓库是在数据库基础上产生的

10、一种数据集合,用于数据管理中的决策分析。对数据仓库而言,自然也有数据库系统概念,是管理、使用数据仓库的一种数据管理系统。它的系统组成体系机构可用图表示。,2018年8月30日星期四,数据库教程(沈-06.8),13,Ch14. 2. 数据仓库,(2)数据仓库的建立数据模型、数据模式 1)数据仓库模型 正像建立数据库的重点是研究数据模型、数据模式一样,对于数据仓库来说,有必要深入理解两个概念数据模型与数据模式。 数据仓库一般来说是基于多维数据模型(Multi-Dimension Data Model)。该模型将数据看作数据立方体(Data Cube)形式。 现举例说明数据立方体的概念。下图是销售

11、数据的数据立方体示例。,2018年8月30日星期四,数据库教程(沈-06.8),14,Ch14. 2. 数据仓库,所有的销售数据组织成立方体形式,以多维形式对数据建模和观察,它由维和事实定义。维是关于一个企事业想要记录的数据方面,如示例中列出的商店时间商品就是设计的3个维,每一个维都有一个维表与之相连,进一步描述这个维。例如,商店的维表可以包含属性:商店名、地址、电话、经理等。事实多维数据模型都是围绕主题来组织的,该主题就用事实表表示。事实是用数值度量的。例如,上面例子围绕销售主题建立数据仓库的事实,事实表包括相关维表的关键字、销售量、销售金额等。立方体比较直观,便于图示。但在数据仓库中,数据

12、立方体的多维,当然不是局限于3维,可以是n维的。,2018年8月30日星期四,数据库教程(沈-06.8),15,Ch14. 2. 数据仓库,2)数据模式 采用数据模型来描述某一具体企事业单位的数据仓库数据,就引入了另一个概念数据模式。 多维数据模型,具体的维表与事实表如何组织描述,可以有多种不同形式。常见的形式有:星型、雪花型以及事实星座型。 现仍以销售数据仓库为例。图14-8,14-9,14-10分别示例说明三种数据模式。 图14-8 销售数据星型模式:,2018年8月30日星期四,数据库教程(沈-06.8),16,Ch14. 2. 数据仓库,图14-9 销售数据雪花模式:,2018年8月3

13、0日星期四,数据库教程(沈-06.8),17,Ch14. 2. 数据仓库,图14-10 销售与货运事实星座模式:,2018年8月30日星期四,数据库教程(沈-06.8),18,Ch14. 2. 数据仓库,在上述数据建模中,对数据立方体再介绍以下概念。 度量(Measure)的分类与计算数据立方体的度量是一个数值函数,指的是对数据立方体的每一个点所求的值。数据立方体空间的多维点,可由维值对来定义,例如某一空间点上,时间“1季度”,商品“PC机”,商店“No.1”,通过对给定点的各维值对来聚集数据,即计算该点的度量值。度量可以根据所用的聚集函数而分成三类: 分配型:假设数据划分为n个集合,函数在每

14、一部分上计算得到一个聚集值。如果将函数用于n个聚集值得到的结果,与将函数用于所有数据得到的数据一样,则该函数就是一种分配型的计算。例如:计算Count()可以这样计算,先将数据立方体分割为若干个子立方体的集合,对每个子立方体计算Count(),然后求和。这样,Count()就是分配型的聚集函数。同理,Sum(),Min(),Max()也是分配型聚集函数。 代数型:如果能够由一个具有M个参数的代数函数计算(其中M是一个有界整数),而每个参数都可由一个分配型聚集函数求得,则称这种计算是代数型的。例如,Avg()可由Sum()/Count()计算,其中Sum()与Count()都是分配型聚集函数。类

15、似地,min_N(),max_N()等也都是代数型聚集函数。 整体型:整体型聚集函数既不满足分配型,也不满足代数型,例如取中位数(一组数的位数数是指数据按大小排序后,取居中的一个数,若有偶数个数,则取居中两数的平均值)就是一个整体型聚集函数。 概念分层数据模式中有一个概念分层的问题,概念分层是一个映射序列,对于数据模式来说,隐含有概念分层的问题,例如,商品维表中的小类大类,商店维表中的市名省名,如期维表中的日月季度年。数据模式中的概念分层,为数据管理的分析综合提供了方便。,2018年8月30日星期四,数据库教程(沈-06.8),19,Ch14. 2. 数据仓库,3)构建数据仓库的步骤 与数据库

16、系统中数据库设计过程相类似,数据仓库的构建要按一定的步骤进行,构建数据仓库一般有两个主要步骤:数据准备阶段;数据仓库模式设计阶段。 数据准备阶段:主要是ETL(抽取、转换、装载),数据抽取是指从异构多数据源中围绕主题选取相关的数据,并要对这些数据进行清理,消除噪声和不一致数据,并完成集成过程中的转换,使数据具有集成性,表示方式一致,并转换为适合聚集操作的有关形式。经过数据转换阶段的工作,才能将数据源装载到数据仓库中。 数据仓库模式设计阶段:面对实际应用问题,如何面向主题进行数据仓库设计(采用多维数据模型设计星型、雪花等数据模式)是一个用户、数据仓库技术人员共同合作要完成的一个重要工作,有较大的

17、难度。,2018年8月30日星期四,数据库教程(沈-06.8),20,Ch14. 2. 数据仓库,设计方法通常有三种:自顶向下(Top-Down),自底向上(Bottom-Up),混合方法。自顶向下方法由总体规划与设计开始,当对必须解决的业务应用问题比较清楚,已掌握成熟的技术,可采用这种方法。首先,建立企业级的数据仓库:对已所要抽取的操作型数据库细工和其它数据,使用集中模式,一次数据重构,将冗余与不一致尽量减少,构建全局性的企业数据仓库;然后,围绕部门主题,建立数据集市(Data Mart)。 自底向上方法从实验与原型开始,先建部门数据集市,然后扩大到企业数据仓库。首先,局限在一定的主题范围,

18、本部门自治设计,建立部门局部的数据集市;然后,在若干个数据集市建成后,去除冗余与不一致性,将创建企业数据仓库作为首期目标。 混合方法可以认为是上面两种方法的混合,既能利用自顶向下方法有计划的战略性特点,由能保持自底向上方法快速实现与较快应用的优点。,2018年8月30日星期四,数据库教程(沈-06.8),21,Ch14. 2. 数据仓库,(3)OLAP技术 1)概述 2)多维分析技术 3)OLAP操作语言1)概述 OLAP的由来传统的关系数据库应用系统,是一种面向操作型数据的环境,处理对象是确定的业务数据,目的是解决特定业务处理问题。例如,典型计费系统、航班售票系统等。这种系统的数据时效性强,

19、需及时更新数据,而大量的历史数据不得不保存到脱机的存储介质中去。那么,如何利用这些海量数据,完成面向决策分析的任务,传统的OLTP就难以胜任。这样,OLAP就应运而生,正如数据仓库之父W.H.Inmon所讲的,“现在该是把哪些历史数据搬出来的时候了。”联机分析处理(OLAP)的概念,最早是由关系数据库系统奠基人E.F.Codd在1993年提出的。当时,Codd认为OLTP已不能满足终端用户对数据库查询分析的需求,SQL的简单查询不能满足用户的分析需求。终端用户的决策分析,需要对大量数据经过计算而得到决策,Codd提出了多维数据模型的多维分析的概念,即出现了OLAP技术的概念。,2018年8月3

20、0日星期四,数据库教程(沈-06.8),22,Ch14. 2. 数据仓库,OLAP的定义OLAP是一种基于数据集合(数据仓库或数据库)的面向分析处理的技术。采用OLAP技术,用户能灵活操纵某企事业单位的数据,以多维数据模型的形式,从多方面、多角度来观察数据的状态,从而为决策分析提供有力支持。OLAP、OLTP的比较OLTP基于关系操作型数据库,OLAP基于数据仓库,重点在于数据分析与决策,是对共享多维数据的决策分析。OLTP与OLAP的比较,可用表14-1以展示。,2018年8月30日星期四,数据库教程(沈-06.8),23,Ch14. 2. 数据仓库,表14-1 OLTP与OLAP的比较,2

21、018年8月30日星期四,数据库教程(沈-06.8),24,Ch14. 2. 数据仓库,OLAP系统的特征 快速性:OLAP系统采用专门的存储形式,经过大量的预计算,虽然操作涉及复杂的事务,但分析过程仍具有快速性特点; 可分析性:系统处理的问题与有关的逻辑和统计分析,不是一般的简单计算; 共享性:潜在地共享有关数据; 多维性:这是OLAP的关键特性,可从不同难度进行计算; 信息性:这是OLAP的目的所在,完成数据的信息解释。,2018年8月30日星期四,数据库教程(沈-06.8),25,Ch14. 2. 数据仓库,2)多维分析技术 OLAP多维分析技术建立在多维数据模型的基础上,涉及的重要概念

22、列举如下: 维是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(如:时间维、地理维等)。 维的层次人们观察数据的某个特定角度(即某个维)还可以表示细节程度不同的各个描述方面(如:时间维分别是日期、月份、季度、年)。 维的成员维的一个取值,是数据项在某维中位置的描述(如:“某年某月某日”是在时间维上某一位置的描述)。 度量用户浏览多维数据集时查看的数值,是用来评测分析的一种指标值。如:社会保险系统中的基金收缴金额、养老金拨付金额,就是一种度量值。 立方体多维数据集合,是分析的一个主题,由多个维和若干度量值构建并汇总而成的多维数据结构集合,是OLAP的分析对象。,2018年8月

23、30日星期四,数据库教程(沈-06.8),26,Ch14. 2. 数据仓库,OLAP系统基本操作 : 切片和切块(Slice,Dice)在多维数据立方体中,按二维进行切片,按三维进行切块,可得到所需的某部分数据。如图14-11就表示社会保险数据在地理、时间、单位分类进行切块和切片的数据。 图14-11 社会保险数据立方体的切片、切块示例:,2018年8月30日星期四,数据库教程(沈-06.8),27,Ch14. 2. 数据仓库,钻取(Drill)钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作,在操作中钻取的深度与维所划分的层次是相对的。图14

24、-12表示社会保险数据立方体按单位维向下/向上钻取的数据示例。,2018年8月30日星期四,数据库教程(沈-06.8),28,Ch14. 2. 数据仓库,旋转(Rotate)/转轴(Pivot)通过旋转(也称为转轴),可以得到不同视角的数据。图14-13表示社会保险数据立方体的旋转操作示例。,2018年8月30日星期四,数据库教程(沈-06.8),29,Ch14. 2. 数据仓库,3)OLAP操作语言 传统关系数据库系统的操作语言是SQL,那么对多维数据立方体的OLAP操作语言是什么呢?这方面的标准化还有待进一步工作,这里以微软提供的MDX语言为例进行介绍。 MDX语言概述: MDX(Mult

25、idimensional Expression)是一种支持多维数据立方体定义和操作的语言,由微软公司提供。MDX在语法的很多方面与SQL相似,但不能算是SQL语言的扩展。MDX提供数据结构定义的DQL语法,用于创建(和删除)多维数据集、维度、度量值以及它们的坐标对象的MDX命令。MDX提供多维立方体操作的查询语句,包含了与SQL类似的Select、From、Where子句,MDX还提供了函数等,增强了操作能力。 基本的MDX查询是:Select ,From Where ,SQL语言是从表返回一个仍是表的二维数据集,而MDX是从多维数据集返回多维数据子集。,2018年8月30日星期四,数据库教程

26、(沈-06.8),30,Ch14. 2. 数据仓库,现以社会保险系统中的应用为例加以说明。Select 地理.西安.市本级, 地理.西安.雁塔区 ON COLUMNS,时间.2001年, 时间.2002年 ON ROWSFrom 基金收缴Where (单位.事业, 收缴类型.正常缴纳) 即可得到如下结果。,2018年8月30日星期四,数据库教程(沈-06.8),31,Ch14. 3.数据挖掘,(1)概述 (2)数据挖掘的过程 (3)数据挖掘的基本方法 (4)复杂数据类型的挖掘,2018年8月30日星期四,数据库教程(沈-06.8),32,Ch14.3. (1)概述,(1)概述:1)数据挖掘技术

27、的产生;2)数据挖掘的定义. 1)数据挖掘技术的产生: 从数据库技术的发展过程看,20世纪80年代以来,数据库系统在各行各业广泛应用,全球的信息量每隔20个月就要增加一倍。一个中等规模的企业每天要产生100MB以上的业务数据,据统计,1993年全球的计算机数据存储容量约为2000TB,到2000年增加到300万TB。但是,据估计,目前一个大型企事业单位的数据,大约只有7得到较好地应用,对于数据管理来说,陷入了一个尴尬境地“数据丰富,信息(知识)贫乏”。 数据管理用于决策分析的技术应运而生:一方面数据仓库技术的提出与发展,另一方面数据挖掘技术的产生。 先看一个例子:啤酒与尿布的故事美国加州某超市

28、连锁店通过对存储的销售数据采用数据挖掘技术分析发现:下班前后或周末购买婴儿尿布的顾客较多为男性,往往同时购买啤酒,两类互不相干的商品有一定的关联。于是,连锁店经理当机立断,重新布置货架,将男士们需要的日常生活用品就近布置,取得了有关商品销量大增的骄人业绩。 80年代以来,人们逐渐关注这方面的研究,其它数据挖掘的例子也就层出不穷 .正像数据库技术的发展一样,开始时是一个一个行业的建立使用,逐步铺开。数据挖掘技术,目前虽没有数据库技术这样家喻户晓,但经过多年的发展,应用领域也已是一个热门领域,应用面已相当广泛。,2018年8月30日星期四,数据库教程(沈-06.8),33,Ch14.3. (1)概

29、述,2)数据挖掘的定义 较为广泛接受的数据挖掘定义是:提取隐含于数据集合(数据库、数据仓库或其它数据集合)中未知的、有用的、不一般的(即不象OLAP中那样计算总和、平均值子类的普通信息)信息或知识。数据挖掘,也有另外一种说法:数据库中的知识发现KDD(Knowledge Discovery in Database)或知识提取(Knowledge Extraction),数据/模式分析(Data/Pattern Analysis),也有人认为数据挖掘DM是KDD的一个步骤,特别在讨论实现过程时,往往认为KDD是较广泛的过程,而DM是其中的一个步骤。 从数据库技术看,在逻辑上从大量数据中提取规则,

30、数据挖掘采用的是归纳推理的方法。而根据大量数据,采用归纳方法,推断出一般化的规则、规律,也就是形成信息或知识。从更广泛的角度来看,数据挖掘是一门跨学科的技术,综合采用了统计学、数据库技术、机器学习、模式识别、人工智能、可视化技术,很难严格区分数据挖掘与这些学科之间的界限。,2018年8月30日星期四,数据库教程(沈-06.8),34,Ch14.3. (2)数据挖掘的过程,(2)数据挖掘的过程:1)知识发现KDD的全过程2)数据挖掘(Data Mining,DM)过程 1)知识发现KDD的全过程,2018年8月30日星期四,数据库教程(沈-06.8),35,Ch14.3. (2)数据挖掘的过程,

31、2)数据挖掘(Data Mining,DM)过程 数据挖掘作为整个知识发现(KDD)的一个重要步骤,起着关键作用。有时,当单独将数据挖掘过程抽出来阐述时,也经常把KDD过程与DM过程不加区分,正像提到KDD概念、DM概念时也不加区分。 数据挖掘过程,可用下图来表示。某种意义上看,也是知识发现的全过程,其中的模式(Pattern)发现数据挖掘的关键步骤,相当于上面KDD过程中的数据挖掘。,2018年8月30日星期四,数据库教程(沈-06.8),36,Ch14.3. (2)数据挖掘的过程,数据选择:数据挖掘正像采矿一样,先要通过地质普查找到矿藏所在源,这里就是提出挖掘的目标,也就是选择好限定的主题

32、,来选择相关的数据。例如,目标是优化销售策略,那么,根据这样的目标,围绕此主题选取与销售相关的数据记录作为数据挖掘的对象。 数据预处理:对于选择好的数据,必须经过预处理提高数据质量,才能使得数据挖掘更加有效。因为不经预处理的数据,往往垃圾数据比较多,数据的决策分析是一种典型的“垃圾进垃圾出”的过程,数据预处理对数据挖掘的结果有重要的影响。数据预处理技术主要包括:数据清理、数据集成、数据变换和数据归约。 模式(Pattern)发现:这是数据挖掘的关键一步。蕴涵在数据中的规律、规则或特征,也就是通常所说的知识,表现在数据的某种模式上,发现数据模式关键是人机交互地选择算法,这一步是数据挖掘中的核心内

33、容,下面我们将单列一节介绍数据挖掘的基本内容与方法。 解释评估:通过模式发现算法可以得到较多的模式。对于给定的用户,是否对所有模式都感兴趣,答案是否定的。所以,数据挖掘过程的最后一步,是讨论从挖掘出的模式中得到有趣模式的问题,即对用户有用的模式,也就是对挖掘出的模式进行解释评估。,2018年8月30日星期四,数据库教程(沈-06.8),37,Ch14.3. (2)数据挖掘的过程,有关解释评估,需要讨论以下一些问题: 模式兴趣度的度量:一是客观度量,例如对于形如XY的关联规则,客观度量通常采用支持度和置信度来定义,支持度Support(XY) = P(XY),其中P(XY)是项集X和Y并的概率。

34、置信度Confidence(XY) = P(Y|X),其中P(Y|X)是包含X的事务也包含Y的概率。对于度量再引入阈值,由用户来控制,用户可以认为置信度阈值不超过50%的模式是无趣的。对此,下面还要详细讨论的。另一种是主观度量,实际上是用户的一种主观预感,认为合理的或认为出乎意料的,给出模式是否有趣的结论。 数据挖掘的完全性:数据挖掘能否挖掘出所有有趣的模式,这是较难做到的。只能说,对于某些数据挖掘任务,根据用户提出的限制和兴趣度量,在一定条件下保证算法的完全性。 数据挖掘能够仅仅产生有趣的模式吗?往往数据挖掘可能会生成一些不是有趣的模式,我们希望仅仅产生有趣模式,这是一个数据挖掘优化问题。如

35、何识别真正有趣的模式,过滤掉一些不感兴趣的模式,采用兴趣度度量来知道数据挖掘过程,是数据挖掘中最后一步重要的工作。,2018年8月30日星期四,数据库教程(沈-06.8),38,Ch14.3. (3)数据挖掘的基本方法,(3)数据挖掘的基本方法 数据挖掘算法,针对不同的挖掘任务,有很多不同的方法,本节只阐述下面4种基本方法:1分类、2聚类、3关联分析、4时间序列。 1)分类 概述 分类是对数据的一个重要抽象,从机器学习的观点看,分类是一种监督学习,即根据应用的需要确定分类的类别,通过对训练数据的分类学习归纳出分类规则,利用测试数据对模型的准确率进行测试,再对数据进行分类操作。,2018年8月3

36、0日星期四,数据库教程(沈-06.8),39,Ch14.3.(3)数据挖掘的基本方法,分类过程分两步完成,如图所示。,2018年8月30日星期四,数据库教程(沈-06.8),40,Ch14.3.(3)数据挖掘的基本方法,分类算法 以决策树算法为例,说明分类算法的思路。例如,要对顾客是否购买电脑进行测试,图就是决策树的示例。,2018年8月30日星期四,数据库教程(沈-06.8),41,Ch14.3.(3)数据挖掘的基本方法,算法14-1:Generate_Decision_Tree(由给定的训练数据生成决策树) 输入:训练样本Samples,由离散值属性表示,候选属性的集合是Attribute

37、_List 输出:决策树 算法描述: )创建节点N; )if Samples 都在同一类C then返回N作为叶节点,以类C标记; )if Attribute_List 为空 then返回N作为叶节点,标记为Samples中类别个数最多的类别;/多数表决 )从Attribute_List中选择一个信息增益最大的属性test_attribute;/属性选择方法的信息增益概念,需要解释 并将此节点N标记为test_attribute; )for each test_attribute 中的已知取值ai由节点N长出一个条件为test_attribute=ai的分支;/划分Samples 设Si是Sa

38、mples中test_attribute = ai的样本的集合;/其中的一个划分 )if Si为空 then加上一个叶节点,标记为Samples中类别最多的类; )else 加上一个由Generate_Decision_Tree (Si, Attribute_List, test_attribute)返回的节点;,2018年8月30日星期四,数据库教程(沈-06.8),42,Ch14.3.(3)数据挖掘的基本方法,信息增益方法:这是上面决策树算法中属性选择的基本方法。 信息增益的定义。设S识包含s个数据样本的集合,假定类标号属性具有m个不同值,即定义m个不同的类别Ci(i=1,2,m),设si

39、是类Ci中的样本数,对一个给定的样本分类可给出所需的期望信息:其中pi是任一样本属于类别Ci的概率,可按si/s估计,对数函数以2为底,是因为信息以二进制位编码。设属性A具有v个不同值a1,a2,av,利用属性A可将数据集合S划分为v个子集S1,S2,Sv,其中Sj包含了S集合中属性A取aj值的样本。若属性A被选为测试属性,设sij为子集sj中属于Ci类的样本数,那么,利用属性A划分当前样本集所需的期望信息是:其中当作第j个子集的权值,而是对于给定子集Sj的期望信息。E(A)计算结果越小,表示其子集划分结果越好。在A上分支将获得的编码信息是:Gain(A)=I(S1,Sm)-E(A)定义为利用

40、属性A对当前分支节点进行划分的信息增益。,2018年8月30日星期四,数据库教程(沈-06.8),43,Ch14.3.(3)数据挖掘的基本方法,现以购买电脑相关的训练数据样本为例,说明信息增益方法的思路。,2018年8月30日星期四,数据库教程(沈-06.8),44,Ch14.3.(3)数据挖掘的基本方法,对于表给出的训练数据集合,分类的标记为2类,类C1对应于买电南yes,类C2对应于no,类yes有9个样本,类no有5个样本,计算得到:现计算有关属性的信息增益,从属性年龄开始, 对年龄 40 s13=3 s23=2 I(s11,s21)=0.971 样本按年龄划分,期望信息为:,2018年

41、8月30日星期四,数据库教程(沈-06.8),45,Ch14.3.(3)数据挖掘的基本方法,故这种划分的信息增益是:Gain(年龄)I(s1,s2)-E(age)=0.246。类似地,可以计算Gain(收入)=0.029,Gain(是否学生)=0.151,Gain(信用评估)=-0.048,由于年龄在属性中具有最高的信息增益,被选作为测试属性,对此可创建分支的节点。也就是一开始给出的决策树示例将Age作为分支节点的原因。我们以决策树方法简述了算法的实现过程。分类算法除了决策树方法外,常用的方法还有很多,例如:基于统计学的贝叶斯分类方法、神经网络分类方法、k-最近邻方法、遗传算法、粗糙集方法、模

42、糊集方法等等。,2018年8月30日星期四,数据库教程(沈-06.8),46,Ch14.3.(3)数据挖掘的基本方法,2)聚类 概述 分类是指定类别将数据集合划分的一种技术,从其学习角度来看,是有指导的学习。而聚类也是要对数据集合进行分析加以划分,但要划分的类别是未知的,是一种无指导的学习。 聚类是指将数据集合划分为由类似数据组成的多个类(也可称为簇,cluster)的过程,同一类(或簇)中的数据彼此相似,与其它类中的数据相异。 聚类的典型应用领域有:市场营销(帮助市场营销人员发现基本顾客的不同群组,利用这一分析制定更有针对性的营销计划),生物研究(用于动物植物聚类,对基因聚类,获得对种群固有

43、结构的认识),城市规划(根据房屋的类型、价值、地理位置对城市房屋分组),Web文档分类(Web文档数据是海量的,获得有关文档的特性,聚类后加以逐类分析)等等。,2018年8月30日星期四,数据库教程(沈-06.8),47,Ch14.3.(3)数据挖掘的基本方法,聚类技术的相关概念:点与距离。 点将数据视为多维空间中点的集合,数据聚类问题演化为多维空间中点的聚类问题。至于如何将数据视作多维空间中的点,有不同的表示方法:(1)将数据表示为向量,数据集合是一个向量集合,Xi(i=1,2,N)是N个点的数据向量集合,引入中心点(2)数据集合看作是矩阵形式,表示为关系数据库表的形式,其中一行就是数据集合

44、中的一个点。 距离有了点的概念,自然可引入基于点的距离概念,距离可表示为两点之间的欧几里德距离: 或曼哈顿距离:数据点之间的相似与相异,用距离的大小加以度量,进行聚类分析。,2018年8月30日星期四,数据库教程(沈-06.8),48,Ch14.3.(3)数据挖掘的基本方法,聚类算法 划分法典型的划分法是K-平均算法。给定某一包含n个数据元素的数据库,生成的类(或簇)的数目为K,将n个数据划分为K类(Kn),以使同一类中的数据相似,而不同类中的数据相异。下面是K-平均算法的描述。 算法14-2:K-平均 /划分的K-平均算法基于簇中数据的平均值 输入:簇的数据K,数据库包含n个元组D=x1,x

45、n 输出:K个簇,是平方误差准则最小 算法:for k=1,K do /令r(k)是从D=x1,xn中随机选取的一个点while 在聚类Ck中有变化发生 do形成聚类:for k=1,K doCk=xD|d(rk,x) d(rj,x)对所有j=1,K, jk;end;计算新的聚类中心:for k=1,K dork=Ck内点的平均值向量;end;end;,2018年8月30日星期四,数据库教程(沈-06.8),49,Ch14.3.(3)数据挖掘的基本方法,k-平均算法,开始为每个聚类选择一个初始的中心点,然后以初始中心值为核心形成聚类,再用迭代法反复修改初始的聚类,直到无明显改进为止。k-平均算

46、法的复杂度是O(knI),k是聚类数,n为数据集合大小,I是迭代次数,通常kn,In,算法以局部最优结束。 层次法将所有数据组织成一颗聚类的树,分别可以自底向上或自顶向下进行层次分解,自底向上分解的层次法通常称为凝聚的,自顶向下分解的层次法通常称为分裂的。一般以凝聚的层次聚类用得较多。其算法可简单描述如下: for i=1,n 令C=x(i); while 存在一个以上的聚类 do令Ci和Cj为使系统中任意两个聚类间的距离D=(Ck,Cn)最小化得两个聚类;Ci=CiCj; end;,2018年8月30日星期四,数据库教程(沈-06.8),50,Ch14.3.(3)数据挖掘的基本方法,除了以上

47、两种主要的聚类方法以外,还有其它较多的聚类方法:基于密度的方法、基于网格的方法、基于模型的方法等等,还有一些聚类算法集成了多种聚类方法的思想,综合性采用多种聚类技术可取得更好的聚类效果。,2018年8月30日星期四,数据库教程(沈-06.8),51,Ch14.3.(3)数据挖掘的基本方法,3)关联分析 概述 关联分析是数据挖掘中较早引起兴趣得一种数据分析方法,关联分析是发现数据集合中数据之间的联系。数据之间的联系,可能表现为两种形式:一种是同一交易(有时也可说是同一事务)内数据之间的联系,如在顾客的一笔交易中,购买两种不同商品之间的联系;另一种是不同交易内数据之间的联系,如一个顾客在一次交易中

48、买了甲商品,探讨另一次交易中购买乙商品的可能性,也是研究数据之间的联系。在数据挖掘领域,前者就是此处所述的关联分析,后者是下节要讲述的时间序列。 关联分析中的若干基本概念:,2018年8月30日星期四,数据库教程(沈-06.8),52,Ch14.3.(3)数据挖掘的基本方法,支持度可信度,2018年8月30日星期四,数据库教程(沈-06.8),53,Ch14.3.(3)数据挖掘的基本方法,关联规则举例,2018年8月30日星期四,数据库教程(沈-06.8),54,Ch14.3.(3)数据挖掘的基本方法,关联分析典型算法 关联分析典型算法,比较有名的是Apriori算法(1993年R.Agraw

49、al等人提出)。该算法实现分两步:1)找出所有频繁数据项集(frequent itemsets):即找出所有支持度超过指定阈值的数据项集;2)利用频繁数据项集,生成候选的关联规则,并验证其可信度,如果可信度超过指定的阈值,则该关联规则即为所要找关联规则。,2018年8月30日星期四,数据库教程(沈-06.8),55,Ch14.3.(3)数据挖掘的基本方法,算法14-3:Apriori算法,利用层次迭代找出频繁项集 输入:交易(事务)数据库D,最小支持度阈值min_sup 输出:D中的频繁项集L 流程: L1=find_frequent_1_itemset(D);/发现1-项集 for(k=2;Lk-1;k+) Ck=apriori_gen(Lk-1,min_sup);/根据频繁k-1项集产生候选k项集for each tD /扫描数据库DCt=subset(Ck,t);/获得t所包含的候选项集for each cCt,C.count+;Lk=cCk|C.countmin_sup return L=UkLk;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报