数据仓库与数据挖掘技术的探析

2017-04-29 12:23蔡鑫辉
好日子(下旬) 2017年12期
关键词:数据仓库决策树数据挖掘

摘 要:要建立自己的决策支持系统就必然要应用数据仓库、数据挖掘技术,企业应根据自身要求合理建立特定主题的数据仓库,在此基础上还要结合实际问题选择相应的挖掘模型,从而得到最有价值的挖掘分析结果,以利于企业的经营发展。

关键词:数据仓库;数据挖掘;决策树

0 引言

数据仓库与数据挖掘是近年来刚刚兴起并逐步发展起来的一门新兴交叉学科,它把对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,并提供决策支持。此门学科涉及到许多领域的知识,包括数据库技术、人工智能技术、数理统计、可视化技术、并行计算、机器学习等,汇集了多门学科的知识并在综合运用这些学科知识的基础上产生出新的知识和方法。此门学科的应用主要在于构建企业的决策支持系统,此系统正是目前帮助企业提高自身竞争力的重要手段。

在数据仓库与数据挖掘学科中涉及了许多概念、设计方法及诸多挖掘算法,本文将就其中的一些内容结合SQL Server Analysis Service应用实例加以阐述与说明,以加深对理论的理解,并逐步掌握此门学科所提供的更多技术。

1 数据仓库的规划与设计

数据仓库是一个面向主题的、集成的,时变的、非易失的数据集合,支持部门管理的决策过程,数据中的每一个数据单元在实践上都是和某个时刻相关的。數据仓库也被看作是某个组织的数据存储库,用于支持战略决策。数据仓库的功能是以集成的方式存储整个组织的历史数据,这些数据会影响到这个组织和企业的多个方面。数据仓库的特点是:数据常常来自于多个数据源;其存放模式一致;驻留在单个站点;数据已经清理、变换、集成与装载并定期刷新;数据量巨大。

数据仓库构建方法同一般数据库构建方法最大的不同在于数据仓库的需求分析是从用户的决策问题入手,其目的是直接针对问题的主题,而一般数据库系统是以事务处理为出发点。下面结合具体实例说明数据仓库的设计步骤。

1.1 确定用户需求,为数据仓库中存储的数据建立模型

通过数据模型得到企业完整而清晰的描述信息。数据模型是面向主题建立的,同时又为多个面向应用的数据源的集成提供了统一的标准。

例如:FoodMart是一家大型的连锁店,在美国、墨西哥和加拿大有销售业务。市场部想要按产品和顾客分析1998年进行的所有销售业务数据。该公司现在急需进行销售方面的数据分析,以找到一些潜在规律来促进销售业务的进一步拓展从而扩大销售渠道、加大销售量、提高销售利润、增强公司竞争力。该连锁店销售的产品总体上被分为若干个大类,细节上分为若干个小类;客户广泛分布于不同地区、不同国家。该连锁店在销售信息管理系统中长期保存并不断更新着产品、产品分类、商店、销售、促销、客户等记录表,依次为:产品表(PRODUCT)、产品分类表(PRODUCT_CLASS)、商店表(STOR)、1998年销售记录表(Sales_fact_1998)、促销表(PROMOTION)、客户表(CUSTOMER)等。

FoodMart连锁店保存并不断更新的数据库是事务处理型数据库,其结构是面向应用而设计的。要进行数据挖掘就必须建立面向主题的数据仓库,为了进行1998年销售方面的数据挖掘,要设计的数据仓库必须以1998年销售数据为主题,辅之以日期、产品、产品分类、商店、促销、客户等其它数据信息。具体来讲,即创建以1998年销售为主题的数据仓库,采用星型/雪花模式构建事实表。

1.2 分析数据源,完成数据仓库的设计工作

基于用户的需求,着重于1998年销售主题,开发数据仓库中数据的物理存储结构,即设计多维数据结构的事实表和维表。1998年销售事实表包含5个维表和3个度量。这5个维表分别是日期、客户、产品、促销和商店维表,3个度量分别为销售金额、仓储成本、销售单位。考虑到将来要根据顾客的年收入情况进行顾客会员卡种类方面的数据分析,另外增加了年收入维度(yearly income,取自于customer表)。为便于分析挖掘出有关时间因素的信息,特增加了时间表time。

1.3 生成物理的数据仓库,并从各种源系统中获取数据装入数据仓库中 在SQL Server Analysis Service manager中建立物理的数据仓库可以通过ODBC数据源方式指定原有数据库,再通过Microsoft OLE DB Provider for ODBC进行连接的方式完成原有数据库到数据仓库的映射。运用SQL Server Analysis Service manager提供的功能建立数据仓库的多维数据集,指定此数据仓库的度量值与维度,至此数据仓库建立完毕。其中纬度与度量值如图2所示。

2 数据挖掘

数据挖掘(Data Mining)又称为数据库中的知识发现(Knowledge Discovery in Database,KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。简言之,数据挖掘就是从海量数据中提取隐含在其中的有用信息和知识的过程。数据挖掘可以帮助企业对数据进行微观、中观乃至宏观的统计、分析、综合和推理,从而利用已有数据预测未来,帮助企业赢得竞争优势。数据挖掘的方法是建立在联机分析处理(On Line Analytical Processing,OLAP)的环境基础之上的。

整个数据挖掘过程主要可分几个阶段,依次为:问题定义、数据预处理、数据挖掘以及结果的解释和评估。

2.1 问题定义

问题定义就是要清晰地定义出业务问题,确定数据挖掘的目的。对于FoodMart连锁店来说,它的问题定义就是:FoodMart连锁店的市场部想增加客户满意度和客户保有率,于是实行了创造性的方法以达到这些目标。

其方法之一是对会员卡方案重新进行定义,以便更好地为客户提供服务并且使所提供的服务能够更加密切地满足客户的期望。

为了重新定义会员卡方案,市场部想分析当前销售事务并找出客户人口统计信息(婚姻状况、年收入、在家子女数等等)和所申请卡之间的模式,然后根据这些信息和申请会员卡的客户的特征重新定义会员卡。

2.2 数据预处理

最初为数据挖掘所准备的所有原始数据集通常都很大,它们当中存在许多脏数据。造成脏数据的原因主要源自于收集与传送过程的错误、滥用缩写词以及不同的惯用语、重复记录、数据输入错误、拼写变化、不同的计量单位、过时的编码、集成时的空值与丢失值以及不同的数据源等。脏数据主要有以下一些表现形式:

(1)数据不完整。表现为:感兴趣的属性缺值;缺乏感兴趣的属性;仅包含聚集数据等。例如:CUSTOMER表中的LNAME=“”

(2)数据噪声。即包含错误的属性值或存在偏离期望的孤立点值。一个属性的值与事实完全不吻合的情况,例如:CUSTOMER表中的在家子女数num_children_at_home=200

(3)数据不一致。如果在脏数据上进行数据挖掘将很可能导致错误的判断甚至完全相反的分析结果,也就是说,没有高质量的数据就没有高质量的挖掘结果。由于决策质量依赖于数据质量,因此需要在數据挖掘之前进行数据预处理,以保证数据仓库内包含的是高质量的、一致的数据。所谓数据预处理其实就是对数据仓库中的数据进行提取、清理、转换,从而保证数据的高质量,具体来讲包括以下几种操作:

(1)数据清理(data cleaning)。

(2)数据集成(data integration)。将多个数据源中的数据合并存放在一个统一的数据存储(如数据仓库、数据库等)中,数据源可以是多个数据库、数据立方体或一般的数据文件。

(3)数据变换(data transformation)。即数据的标准化与聚集,将数据变换成适于挖掘的形式。例如:属性数据可以规范化,使得它们可以落入某个小区间。

(4)数据归约(data reduction)。

2.3 选择挖掘模型,进行数据挖掘。

参考文献

[1][美] MEHMED KANTARDZIC.数据挖掘——概念、模型、方法和算法[M].北京:清华大学出版社,2013.

[2]李才华.OLAP技术在生产评价中的应用[J].计算机技术与自动化,2009,(4).

[3]张美虎.OLAP技术在BI系统中的应用[J].宁波职业技术学院学报,2016,(5).

[4]熊拥军,陈春颖.基于DW和OLAP技术的数字图书馆资源访问分析[J].现代情报,2009,(11)

作者简介:

蔡鑫辉,男(1996年12月——),浙江省嘉兴市桐乡市人,西北民族大学本科学生,研究方向为数据挖掘,软件工程方法学等。

猜你喜欢
数据仓库决策树数据挖掘
基于数据仓库的数据倾斜解决方案研究
简述一种基于C4.5的随机决策树集成分类算法设计
数据挖掘综述
决策树学习的剪枝方法
软件工程领域中的异常数据挖掘算法
数据仓库系统设计与实现
基于R的医学大数据挖掘系统研究
数据复用在存储数据仓库中的运用
决策树在施工项目管理中的应用
数据仓库技术在档案管理领域的应用