数据挖掘与数据仓库.ppt
数据库系统原理第二部分第七章 数据挖掘与数据仓库v7.1 数据仓库概述v7.2 数据挖掘技术v7.3 WEB数据挖掘7.1 数据仓库概述v一、什么是数据仓库v二、DBMS与DWMSv三、数据仓库的系统结构v四、数据仓库的工作过程不同层次的信息处理需求v事务处理需求不同的事务处理子系统采购子系统:订单、订单细则、供应商销售子系统:顾客、销售库存子系统:出库领料单、进料入库单、库存台帐人事子系统:员工、部门各种事务处理需求一笔订购、一笔销售、一次进料、一次出料v要求强调多用户并发环境,数据的一致性、完整性不同层次的信息处理需求v分析处理需求今年销售量下降的因素(时间、地区、商品、销售部门)某种商品今年的销售情况与以往相比,有怎样的变化?每年的第一季度商品销售在各类商品上的分布情况怎样?v要求多个子系统中的数据(数据集成)历史数据汇总、综合的数据从数据库到数据仓库v事务处理与分析处理的性能特性不同事务处理环境数据存取操作频率高每次操作处理的时间短占用系统资源少系统可以允许多个用户按分时方式使用资源,保持较短的响应时间分析处理环境运行时间长消耗大量系统资源事务与分析应用不宜放在同一中环境中从数据库到数据仓库v数据集成问题事务处理目的是使业务自动化只关注与本部门业务相关的当前数据事务处理应用的分散:企业内部各事务处理应用间相互独立DSS需要集成的数据(内部各部门数据、外部数据、竞争对手数据)DSS需要对分散在各个事务处理应用中的相关数据进行集成,以向分析人员提供统一的数据视图从数据库到数据仓库v数据动态集成问题每次分析都进行数据集成的开销太大静态集成开始对所需数据进行集成,以后就一直以这部分数据作为分析的基础,不再与数据源发生联系如果数据源发生了变化,这些变化不能反映到集成数据中,导致决策者使用的是过时的数据动态集成集成数据必须以一定的周期进行刷新事务处理系统不具备动态集成的能力数据仓库的定义一、什么是数据仓库v数据仓库技术所要研究和解决的问题就是从OLTP系统、异构分散的外部数据源、脱机的历史业务数据中获取数据,处理后为数据分析和管理决策提供应用服务。v数据仓库就是面向主题的、集成的、不可更新的(稳定性)随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程。二、DBMS与DWMSvOLTP主要用来完成基础业务数据的增、删、改等操作,对响应时间要求比较高,强调的是密集数据更新处理的性能和系统的可靠性及效率 vOLAP应用是对用户当前及历史数据进行分析、辅助领导决策,主要通过多维数据的查询、旋转、钻取和切片等关键技术对数据进行分析和报表。三、数据仓库的系统结构与相关问题四、数据仓库的工作过程v1.数据的抽取v2.数据的存储和管理v3.数据的展现等 1.数据的抽取v数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。v数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。v在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。2.数据的存储和管理v数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。v数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。v在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。v目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。3.数据的展现v在数据展现方面主要的方式有:查询:实现预定义查询、动态查询、OLAP查询与决策支持智能查询;报表:产生关系数据表格、复杂表格、OLAP表格、报告以及各种综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的知识。7.2 数据挖掘技术v一、问题的提出v二、什么是数据挖掘v三、数据挖掘的环境v四、数据挖掘的主要步骤v五、数据挖掘的主要任务v六、数据挖掘的主要方法v七、数据挖掘的主要应用v八、数据挖掘的主要工具一、问题的提出v一方面规模庞大、纷繁复杂的数据体系让使用者漫无头绪、无从下手;v另一方面在这些大量数据的背后却隐藏着很多具有决策意义的有价值的信息。v如何发现这些有用的知识,使之为管理决策和经营战略发展服务?-数据挖掘(Data Mining)。一个广为流传的数据挖掘例子美国加州某个超市连锁店通过数据挖掘从记录着每天销售和顾客基本情况的数据库中发现:在下班后前来购买婴儿尿布的顾客多数是男性,他们往往也同时购买啤酒。于是这个连锁店的经理当机立断地重新布置了货架,把啤酒类商品布置在婴儿尿布货架附近,并在二者之间放上土豆片之类的佐酒小食品,同时把男士们需要的日常生活用品也就近布置。这样一来,上述几种商品的销量几乎马上成倍增长。二、什么是数据挖掘v数据挖掘是一个利用各种分析方法和分析工具在大规模海量数据中建立模型和发现数据间关系的过程 v这些模型和关系可以用来做出决策和预测。支持大规模数据分析的方法和过程,选择或者建立一种适合数据挖掘应用的数据环境是数据挖掘研究的重要课题之一 v数据挖掘是一门交叉学科,会聚了数据库、人工智能、统计学、可视化、并行计算等不同学科和领域三、数据挖掘的环境v合理而科学的数据环境是确保数据挖掘有效和正确实施的基础和关键。v数据挖掘对大量数据的探索式分析的起点是联机分析处理(OLAP)。v需要支持OLAP数据系统与OLTP数据系统的分离,需要服务于数据挖掘总体目标的数据再组织,需要有单独的数据分析和数据处理环境。v数据仓库正是为了构建这种新的分析处理环境而出现的一种数据存储和组织技术产品。四、数据挖掘的主要步骤 1、数据搜集2、数据整理3、数据挖掘4、数据挖掘结果的评估5、分析决策1.数据搜集v大量全面丰富的数据是数据挖掘的前提,没有数据,数据挖掘也就无从作起。v因此,数据收集是数据挖掘的首要步骤。v数据可以来自于现有事务处理系统,也可以从数据仓库中得到。2.数据整理v数据整理是数据挖掘的必要环节。v由数据收集阶段得到的数据可能有一定的“污染”,表现在数据可能存在自身的不一致性,或者有缺失数据的存在等;v因此数据的整理是必须的。v同时,通过数据整理,可以对数据做简单的泛化处理,从而在原始数据的基础之上得到更为丰富的数据信息,进而便于下一步数据挖掘的顺利进行。3.数据挖掘v利用各种数据挖掘方法对数据进行分析。4.数据挖掘结果的评估v数据挖掘的结果有些是有实际意义的,而有些是没有实际意义的,或是与实际情况相违背的,这就需要进行评估。v评估可以根据用户多年的经验,也可以直接用实际数据来验证模型的正确性,进而调整挖掘模型,不断重复进行数据挖掘。5.分析决策v数据挖掘的最终目的是辅助决策。决策者可以根据数据挖掘的结果,结合实际情况,调整竞争策略等。总之,数据挖掘过程需要多次的循环反复,才有可能达到预期的效果五、数据挖掘的主要任务v1.数据总结v2.分类v3.关联分析v4.聚类1.数据总结v数据总结目的是对数据进行浓缩,给出它的总体综合描述。v传统的也是最简单的数据总结方法利用统计学中的方法计算出数据库的各个数据项的总和、平均、方差、最大值、最小值等基本描述统计量。或者通过利用统计图形工具,对数据制作直方图、饼状图等。v利用OLAP技术实现数据的多维查询也是一种广泛使用的数据总结的方法。2.分类v分类的主要功能是学会一个分类函数或分类模型(也常常称作分类器),该模型能够根据数据的属性将数据分派到不同的组中。v分类应用的实例很多。例如,我们可以将银行网点分为好、一般和较差三种类型,并以此分析这三种类型银行网点的各种属性,特别是位置、盈利情况等属性,并决定它们分类的关键属性及相互间关系。此后就可以根据这些关键属性对每一个预期的银行网点进行分析,以便决定预期银行网点属于哪一种类型。分类分析(Classifiers)v含义有一个记录集合和一组标记,标记用以标识记录的类别先为每个记录赋予一个标记(按标记对记录分类)对同类记录的特征进行描述显式描述:例如,一组规则定义隐式描述:例如,一个数学模型或公式v分类具有极其广泛的应用分类常用于预测医疗诊断、性能预测、选择购物、信誉证实等分类分析的两个步骤v构建模型:对预先确定的类别给出相应的描述先假设一个元组(或样本)集合中的每一个元组(或样本)属于预先定义的某一个类别,由一个类标号属性(class label attribute)来确定这些元组(或样本)的集合称为训练集,用于构建模型;由于提供了每个训练样本的类标号,称作有指导的学习最终的模型用决策树、分类规则或者数学公式等来表示v模型应用:对未知的数据对象进行分类分类分析第一步:构建模型训练数据分类算法IF rank=professor OR years 6THEN tenured=yes 分类器(分类模型)分类分析第二步:模型应用分类器测试数据未知数据(Jeff,Professor,4)Tenured?分类分析举例v对信用卡持卡人的信誉进行分类分析记录集合:持卡人的记录集一组标记:良好、普通、较差;(信誉程度)先为每个持卡人赋予一个标记,即信誉等级对同类记录(即同信誉等级的持卡人)的特征进行描述。例如,信誉良好的持卡人的特征为:收入在25000以上年龄在45-55之间居住在XYZ地区对同类记录特征的描述(规则或模型)可用来分类新记录分类分析举例v顾客购物分类顾客属性:姓名、年龄、收入、职业、信誉度为每个顾客赋予一个标记,即是否购买计算机按该标记将顾客分类,建立分类模型新来一个顾客,按分类模型识别该顾客是否属于购买计算机类若顾客属于购买计算机的类别,则将有关新的计算机的促销材料分发给他利用决策树进行数据分类v决策树一个类似与流程图的树结构内部接点表示一个与属性值相关的判断边表示判断的结果每个叶节点是一个类别的标识决策树分类举例:训练数据集决策树分类举例:计算属性的熵v类标号属性buys_computer,有两个不同值yes,no,有两个类,类yes有9个样本,类no有5个样本决策树分类举例:分枝age?overcast4030.40决策树分类举例:最终结果age?overcaststudent?credit rating?no yesfairexcellent40no no yes yesyes30.40由决策树产生规则IF age=“=30”AND student=“no”THEN buys_computer=“no”IF age=“40”AND credit_rating=“excellent”THEN buys_computer=“no”IF age=“40”AND credit_rating=“fair”THEN buys_computer=“yes”3.关联分析v数据库中的数据一般都存在着关联关系,也就是说,两个或多个变量的取值之间存在某种规律性。v这种关联关系有简单关联和时序关联两种。v关联分析的目的是找出数据库中隐藏的关联网,描述一组数据项目的密切度或关系。v关联模型的一个典型例子是市场菜篮分析,通过挖掘数据派生关联规则,可以了解客户的行为。关联分析(Associations)v目的和含义目的:发现数据库中数据间的相互关联含义:给定一组数据项(例如:商品号)和一个交易集合(例如交易记录),通过分析记录集合,推导出数据项间的相关性(例如:在交易活动中商品间的相关性)v基本形式给定:一组事务集每一个事务中包含若干个数据项挖掘:各个数据项之间的关联例如,98%的顾客在购买电动剃须刀的同时会购买一些电池4.聚类v当要分析的数据缺乏描述信息,或者是无法组织成任何分类模式时,可以采用聚类分析。v聚类分析是按照某种相近程度度量方法,将用户数据分成一系列有意义的子集合。每一个集合中的数据性质相近,不同集合之间的数据性质相差较大。聚类分析(Clustering)v含义聚类是把一组对象按照相似性归成若干类别,即“物以类聚”。它的目的是使得属于同一类别的个体之间的距离尽可能的小而不同类别上的个体间的距离尽可能的大。不同的聚类分析工具可以定义不同的规则集,从而相同的记录集合可能有不同的划分v应用市场或客户分割、模式识别、基因分类、Web文档分类等六、数据挖掘的主要方法v1.决策树v2.相关规则v3.神经元网络v4.遗传算法v5.可视化、OLAP联机分析处理等 1.决策树v决策树是建立在信息论基础之上,对数据进行分类的一种方法。v首先,通过一批已知的训练数据建立一棵决策树v然后,利用建好的决策树,对数据进行预测.例如:在金融领域中将贷款对象分为低贷款风险与高贷款风险两类。通过决策树,我们可以很容易地确定贷款申请者是属于高风险的还是低风险的。决策树方法精确度比较高,结果容易理解,效率也比较高,因而比较常用。2.神经网络v神经网络建立在自学习的数学模型基础之上。可以对大量复杂的数据进行分析,并可以完成对人脑或其他计算机来说极为复杂的模式抽取及趋势分析。v神经网络系统由一系列类似于人脑神经元一样的处理单元(节点)组成。这些节点通过网络彼此互连,如果有数据输入,它们便可以进行确定数据模式的工作。v神经网络有相互连接的输入层、中间层(或隐藏层)、输出层组成。例如:我们可以指定输入层为代表过去的销售情况、价格及季节等因素,输出层便可输出判断本季度的销售情况的数据。3.相关规则v相关规则是一种简单却很实用的关联分析规则,它描述了一个事物中某些属性同时出现的规律和模式。例如:超级市场中通过POS系统收集存储了大量售货数据,记录了什么样的顾客在什么时间购买了什么商品,这些数据中常常隐含着诸如:购买面包的顾客中有90%的人同时购买牛奶的相关规则。v相关规则分析就是依据一定的可信度、支持度、期望可信度、作用度建立相关规则的。4.遗传算法v遗传算法是一种基于生物进化论和分子遗传学的搜索优化算法。v它首先将问题的可能的解按某种形式进行编码,编码后的解称为染色体;随机选取N个染色体作为初始种群,再根据预定的评价函数对每个染色体计算适应值,性能较好的染色体有较高的适应值;选择适应值较高的染色体进行复制,并通过遗传算子,产生一群新的更适应环境的染色体,形成新的种群,直至最后收敛到一个最适应环境的个体,得到问题的最优化解。5.联机分析处理v联机分析处理(OLAP)主要通过多维的方式来对数据进行分析、查询和报表。v它不同于传统的联机事物处理(OLTP)应用。vOLTP应用主要是用来完成用户的事务处理,通常要进行大量的更新操作,同时对响应时间要求比较高。v而OLAP应用主要是对用户当前及历史数据进行分析,辅助领导决策。其典型的应用有对银行信用卡风险的分析与预测、公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。6.数据可视化v对大批量数据的展现也是数据挖掘的重要方面。v数据可视化工具大大扩展了传统商业图形的能力,支持多维数据的可视化,从而提供了多方向同时进行数据分析的图形方法。有些工具甚至提供动画能力,使用户可以“飞越”数据,观看到数据不同层次的细节。七、数据挖掘的主要应用 v金融数据挖掘在金融领域应用广泛,包括:金融市场分析和预测、帐户分类、银行担保和信用评估等。v市场业市场业应用是利用数据挖掘技术进行市场定位和消费者分析,辅助制定市场策略。v工程与科学研究数据挖掘技术可应用于各种工程与科学数据分析。v产品制造业制造业应用数据挖掘技术进行零部件故障诊断、资源优化、生产过程分析等。v 司法数据挖掘技术可应用于案件调查、诈骗监测、洗钱认证、犯罪组织分析等,可以给司法工作带来巨大收益。八、数据挖掘的主要工具 v1.应用于特定领域的专用数据挖掘工具v2.应用面较广的通用数据挖掘工具。1.应用于特定领域的专用数据挖掘工具v专用数据挖掘工具针对某个特定领域的问题提供解决方案。v在算法设计方面,充分考虑到数据、需求的特殊性,并进行优化。例如:IBM公司的Advanced Scout系统,针对NBA数据,帮助教练优化战术组合、2.应用面较广的通用数据挖掘工具v通用数据挖掘工具处理常见的数据类型,采用通用的数据挖掘算法,提供较为通用的处理模式,如:分类模式、回归模式、时间序列模式、聚类模式、关联模式等。例如:IBM公司的QUEST系统、SGI公司的MineSet系统、加拿大Simon Fraser大学的DBMiner、美国Business Objects公司的Business Miner系统、SAS公司的SAS EM(Enterprise Miner)系统等。数据挖掘的发展v目前,国内外很多大学、研究机构和公司都已经在这个方面进行了实质性的研究和产品开发。v今后研究的焦点可能有:研究专门用于知识发现的数据挖掘语言;研究Internet上的数据挖掘方法;对各种非结构化数据,如:文本数据、图形图象数据、多媒体数据的挖掘;研究数据挖掘与数据仓库相结合的方式,数据挖掘与数据仓库一体化的研究等。7.3 WEB数据挖掘v一、Web挖掘的处理流程 v二、Web数据挖掘分类 v三、Web数据挖掘应用前景vWeb挖掘指使用数据挖掘技术在WWW数据中发现潜在的、有用的模式或信息。v与传统数据和数据仓库相比,Web上的信息是非结构化或半结构化的、动态的、并且是容易造成混淆的,所以很难直接以Web网页上的数据进行数据挖掘,而必须经过必要的数据处理 一、Web挖掘的处理流程 v1查找资源 v2信息选择和预处理:从取得的Web资源中剔除无用信息和将信息进行必要的整理 v3模式发现:自动进行模式发现。可以在同一个站点内部或在多个站点之间进行。v4模式分析:验证、解释上一步骤产生的模式。可以是机器自动完成,也可以是与分析人员进行交互来完成。研究方向v随着Web技术的发展,基于Web技术的信 息获得(IR)、信息抽取(IE)得到了更多的重视。v由于Web 数据量非常大,而且可能动态变化,目前的研究方向是用自动化、半自动化的方法在Web上进行IR和IE。v在 Web环境下既要处理非结构化文档,又要处理半结构化的数据,最近几年在这两方面都有相应的研究成果和具体应用,特别是在大型搜索引擎中得到了很好的应 用。二、Web数据挖掘分类 v1、Web内容挖掘(Web Content mining)、v 2、Web结构挖掘(Web structure mining)、v 3、Web 用法挖掘(Web usage Mining)1、Web内容挖掘v 从Web内容/数据/文档中发现有用信息vWeb内容挖 掘的对象包括文本、图象、音频、视频、多媒体和其他各种类型的数据。v针对无结构化文本进行的Web挖掘被归类到基于文本的知识发现(KDT)领域,也 称文本数据挖掘或文本挖掘,是Web挖掘中比较重要的技术领域,也引起了许多研究者的关注。v最近在Web多媒体数据挖掘方面的研究成为另一个热点。1、Web内容挖掘vWeb 内容挖掘一般从两个不同的观点来进行研究。从资源查找(IR)的观点来看,Web内容挖掘的任务是从用户的角度出发,怎样提高信息质量和帮助用户过滤信 息。而从DB的角度讲Web内容挖掘的任务主要是试图对Web上的数据进行集成、建模,以支持对Web数据的复杂查询。v11从资源查找(Information Retrival)的观点挖掘非结构化文档 非 结构化文档主要指Web上的自由文本,包括小说、新闻等。在这方面的研究相对比较多一些,大部分研究都是建立在词汇袋(bag of words)或称向量表示法(vector representation)的基础上 用资源查找的观点挖掘半结构化文档:与非结构化数据相比,Web上的半结构化文档挖掘指在加入了HTML、超连接等附加结构的信息上进行挖掘,其应用包括超连接文本的分类、聚类、发现文档之间的关系、提出半结构化文档中的模式和规则等 v12从数据库(Database)的观点挖掘非结构化文档 数据库技术应用于Web挖掘主要是为了解决Web信息的管理和查询问题。这些问题可以分为三类:Web信息的建模和查询;信息抽取与集成;Web站点建构和重构。从数据库的观点进行Web内容挖掘主要是试图建立Web站点的数据模型并加以集成,以支持复杂查询,而不止是简单的基于关键词的搜索。这要通过找到Web文档的模式、建立Web数据仓库或Web知识库或虚拟数据库来实现。相关研究主要是基于半结构化数据进行的 2、Web结构挖掘vWeb结构挖掘的对象是Web本身的超连接,即对Web文档的结构进行挖掘。v对于给定的Web文档集合,应该能够通过算法发现他们之间连接情况的有用信息,文档之间的超连接反映了文档之间的包含、引用或者从属关系。vWeb 结构挖掘在一定程度上得益于社会网络和引用分析的研究。v在Web结构挖掘领域最著名的算法是HITS算法和PageRank算法。他们的共同点是使用一定方法计算Web页面之 间超连接的质量,从而得到页面的权重。著名的Clever和Google搜索引擎就采用了该类算法。3、Web用法挖掘 v即Web 使用记录挖掘,在新兴的电子商务领域有重要意义,它通过挖掘相关的Web日志记录,来发现用户访问Web页面的模式,通过分析日志记录中的规律,可以识别 用户的忠实度、喜好、满意度,可以发现潜在用户,增强站点的服务竞争力。3、Web用法挖掘 v根据对数据源的不同处理方法,Web 用法挖掘可以分为两类一类是将Web使用记录的数据转换并传递进传统的关系表里,再使用数据挖掘算法对关系表中的数据进行常规挖掘;另一类是将Web 使用记录的数据直接预处理再进行挖掘。三、Web数据挖掘的应用前景 v 电子商务运用网络挖掘技术能够从服务器和浏览器端日志记录中自动发现隐藏在数据中的模式信息,了解系统的访问模式以及用户的行为模式,从而做出预测性分析。v 网站设计通过对网站内容的挖掘,可以有效地组织网站信息v 搜索引擎用搜索引擎进行网络信息挖掘的最大特色体现在他所采用的对网页链接信息的挖掘技术上。通过对网页内容挖掘,可以实现对网页的聚类、分类,实现网络信息的分类浏览与检索;运用网络内容挖掘技术改进关键词加权算法,提高网络信息的标引准确度,从而改善检索效果。参考书v1Jiawei Han 等著,2002,数据挖掘:概念与技术机械工业出版社v2David Hand等著、张银奎等译,2003,数据挖掘原理,机械工业出版社