数据仓库与数据挖掘技术的研究与应用
王曙燕
1,2
*
,耿国华,周明全
11
(1.西北大学计算机科学系,陕西西安710069;2.西安邮电学院计算机系,陕西西安710061)
摘 要:讨论了数据仓库的构建方法和数据挖掘技术的应用,介绍了使用分析服务器构建数据仓库及进行联机分析的方法,实现了一个利用决策树算法建立模型对顾客的信誉度进行分类的实例。关键词:数据仓库;数据挖掘;联机分析处理;决策树
中图法分类号:TP182 文献标识码:A 文章编号:1001-3695(2005)09-0194-02
ResearchandApplicationofDataWarehouseandDataMining
WANGShu-yan,GENGGuo-hua,ZHOUMing-quan
cations,Xi’anShanxi710061,China)
1,2
1
1
(1.Dept.ofComputer,NorthwestUniversity,Xi’anShanxi710069,China;2.Dept.ofComputer,Xi’anInstituteofPosts&Telecommuni-
Abstract:Thispaperdiscussedthemethodofbuildingdatawarehouseandtheknowledgeofdatamining.IntroducedthemethodofusinganalysismanagertobuilddatawarehouseandanalyzingthedataindatawarehousewithOLAP.Realizedanexampleofclassifierbasedondecisiontreealgorithmtocustomers’creditstanding.Keywords:DataWarehouse;DataMining;OLAP;DecisionTree 数据仓库技术是近年来出现的、发展迅速的一种技术,它通过把企业大量的历史数据整理集中到一个中央仓库中,将数据加以分析并呈现给用户来支持管理者的决策。数据仓库是一个整合式的、面向主题的、历史性的以及只读性的数据集合,其主要目的是提供给企业管理者作为管理决策的参考依据。数据挖掘技术作为基于机器学习、模式识别、统计学等领域而发展起来的从数据中获取知识的技术也越来越得到人们的青睐。数据仓库使得人们只花很短的时间就能够从大量的历史数据中查询出所需的数据,而数据挖掘则可以从这些数据中发现和预测出有价值的信息,数据仓库技术使我们从全新的视角认识了数据的价值[1]。然而,从目前的情况看,在中国数据仓库推广还处于起步阶段,其应用所取得的成绩远不如商家们“炒作”得那么辉煌,仍然存在许多不成熟因素,如计算机应用水平较低、数据保存和管理不完善、人才缺乏、没有真正适合行业特点的应用技术等
[2]
大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们作出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理、归纳和重组,并及时提供给相应的管理决策人员是数据仓库的根本任务。
数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的但又是潜在有用的信息和知识的过程
[3]
。原始数据可以是结构化的,如
关系型数据库中的数据,也可以是半结构化的,如文本、图形、图像数据,甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现了的知识可以被用于信息管理、查询优化、决策支持、过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门广义的交叉学科,它汇聚了不同领域的研究者,尤其是数据库、人工智能、数理统计、可视化、并行计算等方面的学者和工程技术人员。
特别要指出的是,数据挖掘技术从一开始就是面向应用的。例如加拿大BC省电话公司要求加拿大SimonFraser大学KDD研究组,根据其拥有十多年的客户数据,总结、分析并提出新的电话收费和管理办法,制定既有利于公司又有利于客户的优惠政策。这样一来,就把人们对数据的应用从低层次的末端查询操作提高到为各级经营决策者提供决策支持。
。但不管怎么说,数据仓库的应用对
于中国企业未来加入国际竞争有着不可替代的作用。
1 数据仓库与数据挖掘
数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解:①数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;②数据仓库是对多个异构数据源的有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。企业数据仓库的建设是以现有企业业务系统和收稿日期:2004-09-05;修返日期:2004-11-11基金项目:国家自然科学基金资助项目(60372072)
2 构建数据仓库的基本方法
2.1 数据仓库的体系结构
数据仓库从多个信息源中获取原始数据,经过整理加工后存储在数据仓库的内部数据库。通过数据仓库访问工具,向数据仓库的用户提供统一、协调和集成的信息环境,支持企业全局决策过程和对企业经营管理的深入综合分析。整个数据仓
第9期王曙燕等:数据仓库与数据挖掘技术的研究与应用・1 95 ・
库系统是一个包含四个层次的体系结构,如图1所示。
数据仓库抽取清理OLAP服务器前端工具
查询工具报表工具
以以星型模式(StarSchema)、雪花模式(SnowflakeSchema)或事实星座模式形式存在[5]。
星型模式是目前普遍使用的实现数据仓库的设计结构。装载尧尧刷新服务分析工具
数据挖掘工具
数据集市噎
数据源OLAP服务器图1数据仓库系统体系结构
(1)数据源是数据仓库系统的基础,是整个系统的数据源泉,通常包括企业内部信息和外部信息。
(2)数据的存储与管理是整个数据仓库系统的核心。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
(3)OLAP(On-LineAnalyticalProcessing)服务器对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
(4)前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。
2.2 构建数据仓库的方法
目前有两种构建数据仓库的方法:自顶向下和自底向上。自顶向下开发企业数据仓库是从总体上把握整个数据仓库的规模、粒度的级别和元数据管理,是一种系统的解决方法,并能够最大限度地减少集成问题。然而,它费用高,需要长时间开发,并且缺乏灵活性,因为整个组织的共同数据模型达到一致是很困难的。自底向上设计、开发、部署独立的数据集市提供了灵活性,花费低,并能够得到快速的投资回报。但存在的问题是将分散的数据集市集成,形成一个一致的企业数据仓库并不容易
[4]
。构建数据仓库的流程如下:
(1)启动工程。建立开发数据仓库工程的目标及制定工程计划,建立技术环境,选择实现数据仓库的软硬件资源,包括开发平台、DBMS、开发工具、终端访问工具。
(2)设计主题进行数据建模。根据决策需要确定主题,选择数据源,对数据仓库的数据进行逻辑结构设计。
(3)设计数据仓库中的数据库。基于用户的需求,着重于某个主题,开发数据仓库中的数据的物理存储结构,即设计多维数据结构的事实表和维表。
(4)转换程序。实现从源系统中抽取数据、清理数据、一致性格式化数据、综合数据、装载数据等过程的设计和编码。
(5)管理元数据。定义元数据,即表示、定义数据的意义及系统各组成部分之间的关系。元数据包括关键字、属性、数据描述、物理数据结构、源数据结构、映射及转换机制、综合算法、代码、安全要求等。
(6)开发用户决策的数据分析工具。建立结构化的决策支持查询,实现和使用数据仓库的数据分析工具,包括优化查询工具、C/S工具、OLAP工具及数据挖掘工具等,通过分析工具实现决策支持要求。
(7)管理数据仓库环境。数据仓库必须像其他系统一样进行管理,包括质量检测,管理决策支持工具及应用程序,定期进行数据更新,使数据仓库能正常运行。2.3 数据模式
最流行的数据仓库数据模型是多维数据模型,这种模型可
它通过使用一个包含主题的事实表和多个包含事实的非正规化描述的维度表来执行典型的决策支持查询。星型模式是一种关系型数据库结构,模式的中间是事实表,周围是维度表,数据在事实表中维护,维度数据在维度表中维护。每个维度表通过一个关键字(在某些情况下是主键)与事实表关联。
雪花模式是星型模式的一种扩展模式。从图2可以看出,它与星型模式的不同在于维度表。在雪花模式中,维度表被分解成与事实表直接关联的主维度表和与主维度表关联的次维度表,次维度表与事实表间接关联。这种模式用大量的冗余维度数据进行设计,通过减少读磁盘的数量来提高查询性能。
星型模式维度表维度表维度表维度表事维度表表实维度表维度表图2星型模式与雪花模式
3 数据挖掘实例
数据挖掘客户端工具采用VisualBasic6.0,后台数据库是MSSQLServer,利用SQLServer中的AnalysisServices进行数据挖掘[6]。本实例根据电信手机销售记录中的顾客信息,利用决策树算法建立模型对顾客的信誉度进行分类,这样可以对新顾客的信誉度进行预测,在以后的缴费等服务中就可以根据顾客的信誉度提供相关的支持。实例使用了销售表、顾客表、手机信息表、时间表、员工信息表、服务信息表等,数据模式为星型模式。建立多维数据集Sales,选择销售表为事实表,建立时间、产品、顾客维度,并为顾客维度设置成员属性,如图3所示。
图3 建立多维数据集Sales
系统实现过程如下:
首先从包含数据源的业务数据中进行数据抽取,对数据进行数据一致性的协调、格式化处理及必要的转换,然后将数据加载进数据仓库。在ODBC数据源管理器中设置和源数据的连接,连接数据源命名为phone。在AnalysisManager中新建数据库,取名为手机,右击“手机数据库”选择新数据源为其建立连接,选择“phone”。
在OLAP挖掘模型编辑器中,可以使用编辑器编辑模型属性或者浏览其结果。决策树显示于右窗格中,其中包括四个窗格。中间的“内容详情”窗格显示焦点所在的
(下转第205页)
因篇幅问题不能全部显示,请点此查看更多更全内容