文章目录
-
- [1. 数据仓库基础知识](#1. 数据仓库基础知识)
-
- [1.1 数据仓库的基本特性](#1.1 数据仓库的基本特性)
- [1.2 数据仓库的数据模式](#1.2 数据仓库的数据模式)
- [1.3 数据仓库的体系结构](#1.3 数据仓库的体系结构)
- [2. 数据挖掘基础知识](#2. 数据挖掘基础知识)
-
- [2.1 数据挖掘的分类](#2.1 数据挖掘的分类)
- [2.2 数据挖掘技术](#2.2 数据挖掘技术)
- [2.3 数据挖掘的应用过程](#2.3 数据挖掘的应用过程)
传统数据库在联机事务处理(OLTP)中获得了较大的成功,但是对管理人员的决策分析要求却无法满足。因为管理人员希望对组织中的大量数据进行分析,了解组织业务的发展趋势,而传统的数据库中只能保留当前的管理信息,缺乏决策分析所需要的大量的历史信息。为了满足管理人员的决策分析需要,在数据库基础上产生了能满足决策分析需要的数据环境--->数据仓库(DataWarehouse, DW)。两者差异如下:
1. 数据仓库基础知识
1.1 数据仓库的基本特性
数据仓库有这样一些重要的特性:面向主题的、数据是集成的、数据是相对稳定的、数据是反映历史变化的。
1)面向主题
数据仓库中数据是面向主题进行组织的。从信息管理的角度来看,主题就是一个较高的管理层次上对信息系统中数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度来看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种数据描述不仅涉及数据自身,还涉及数据间的联系。
数据仓库的创建使用都是围绕主题实现的,因此,必须了解如何按照决策分析来抽取主题,所抽取的主题应该包含哪些数据内容,这些数据应该如何组织。在进行主题抽取时,必须按照决策分析对象进行。
2)数据是集成的
数据仓库的集成性是指根据决策分析的要求,将分散于各处的原数据进行抽取、筛选、清理、综合等集成工作,使数据仓库中的数据具有集成性。数据仓库所需要的数据不像业务处理系统那样直接从业务发生地获取数据。
数据仓库在从业务处理系统那里获取数据时,并不能将原数据库中的数据直接加载到数据仓库中,而要进行 一系列的数据预处理。即从原数据库中挑选出数据仓库所需要的数据,然后将来自不同数据库中的数据按某一标准进行统一,如将数据源中数据的单位、字长与内容统一起来,将源数据中字段的同名异义、异名同义现象消除,然后将源数据加载到数据仓库,并将数据仓库中的数据进行某种程度的综合,进行概括和聚集的处理。
3)数据是相对稳定的
数据仓库的数据主要是供决策分析之用,所涉及的数据操作主要是数据查询, 一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时间的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。
4)数据是反映历史变化的
数据仓库中数据的相对稳定是针对应用来说的,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不表明在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据是永远不变的。数据仓库的数据是反映历史变化的,这主要表现在如下三个方面:
- 数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库中去。
- 数据仓库随时间变化不断删除旧的数据内容。
- 数据仓库中包含大量的综合数据,这些数据有很多信息与时间有关,如数据经常按时间段进行综合,或隔一定的时间进行抽样等等,这些数据要随时间不断地进行重新综合。
1.2 数据仓库的数据模式
典型的数据仓库具有为数据分析而设计的模式,使用OLAP工具进行联机分析处理。因此数据通常是多维数据,包括维属性、度量属性。包含多维数据的表称为事实表,事实表通常很大。
星型模式是由一个事实表、多维表(一级维表)以及从事实表到多维表的参照外码的模式。
雪花模式是由一个事实表、多维表(多级维表)以及从事实表到多维表的参照外码的模式。
事实星型模式是由多个事实表、多维表以及从事实表到多维表的参照外码的模式。
1.3 数据仓库的体系结构
数据仓库通常采用三层体系结构,底层为数据仓库服务器 、中间层为OLAP服务器 ,顶层为前端工具。
- 底层的数据仓库服务器一般是一个关系数据库系统,数据仓库服务器从操作型数据库或外部数据源提取数据,对数据进行清理、转换、集成等,然后装入数据仓库中。
- 中间层的OLAP服务器的实现可以是关系型OLAP,即扩充的关系型DBMS,提供对多维数据的支持;也可以是多维的OLAP服务器,它是一种特殊的服务器,直接支持多维数据的存储和操作。
- 顶层的前端工具包括查询和报表工具、分析工具、数据挖掘工具等。
从结构的角度看有三种数据仓库模型:企业仓库 、数据集市 和虚拟仓库。
- 企业仓库收集跨越整个企业的各个主题的所有信息。它提供全企业范围的数据集成,数据通常都来自多个操作型数据库和外部信息提供者,并且是跨越多个功能范围的。它通常包含详细数据和汇总数据 。
- 数据集市包含对特定用户有用的、企业范围数据的一个子集。实现数据集市的周期一般是数周,而不是数月或数年。根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据来自一个或多个操作型数据库或外部信息提供者,或者是一个特定部门或地区本地产生的数据。在依赖数据集市中,数据直接来自企业数据仓库。
- 虚拟仓库是操作型数据库上视图的集合。为了有效地处理查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作型数据库服务器具有剩余能力。
2. 数据挖掘基础知识
数据挖掘 (Data Mining,DM) 是从海量数据库中挖掘信息的技术。从技术角度看,数据挖掘可以定义为从大量的、不完全的、有噪声的、模糊的、随机的实际数据中提取隐含在其中的、人们不知道的、但又潜在有用的信息和知识的过程。
2.1 数据挖掘的分类
按照所挖掘数据库的种类可分为:关系型数据库的数据挖掘、数据仓库的数据挖掘、面向对象数据库的挖掘、空间数据库的挖掘、正文数据库和多媒体数据库的数据挖掘等。
按所发现的知识类别可分为:关联规则、特征描述、分类分析、 聚类分析、趋势和偏差分析
等。
按所发现的知识抽象层次可分为:一般化知识、初级知识和多层次知识等。
通常有海量数据搜集、强大的多处理器计算机、数据挖掘算法。在数据挖掘中最常用的技术有:
- 人工神经网络:仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。
- 决策树:代表着决策集的树形结构。
- 遗传算法:基于进化理论,并采用遗传结合、遗传变异,以及自然选择等设计方法的优化技术。
- 近邻算法:将数据集合中每一个记录进行分类的方法。
- 规则推导:从统计意义上对数据中的"如果-那么" 规则进行寻找和推导。
2.2 数据挖掘技术
数据挖掘相关技术:
- 关联分析是数据之间有比较强的依赖关联。如超市中的黄油和面包,常见的技术有Apriori、FP-growth。
- 序列模式分析也是依赖,但是强调前后因果关系。如购买一种商品时,有多大几率购买另一种商品。常见的技术有AprioriAll、AprioriSome、GSP。
- 回归分析是数据的属性值的特性。
- 分类是根据历史或者已有的信息来预测新数据。如根据已有数据来预测哪些贷款有风险。常见的技术有C4.5、ID3、Logistic回归、朴素贝叶斯。
- 聚类是根据数据相似的特征将其归为一类。常见的技术有K-Means、DBSCAN、EM。
回归和分类共同拥有的技术有SVM、KNN算法。
数据挖掘与数据仓库的关系:数据仓库不仅是集成数据的一种方式,数据仓库的联机分析功能 OLAP 还为数据挖掘提供了一个极佳的操作平台。如果数据仓库与数据挖掘能够实现有效的结合,将给数据挖掘带来各种便利和功能。
2.3 数据挖掘的应用过程
数据挖掘过程一般需要经历确定挖掘对象、准备数据、建立模型、数据挖掘、结果分析与知识应用这样几个阶段。
1)确定挖掘对象
数据挖掘的第一步是要定义清晰的挖掘对象、认清数据挖掘的目标。数据挖掘的最后结果往往是不可预测的,但是探索的问题应是有预见性的、有目标的。为了数据挖掘而挖掘数据带有盲目性,往往是不会成功的。
在定义挖掘对象时,需要确定这样的问题:
- 从何处入手?
- 需要挖掘什么数据?
- 要用多少数据?
- 数据挖掘要进行到什么程度?
- 虽然在数据挖掘中常常事先不能确定最后挖掘的结果到底是什么?
例如,选择的数据是描述信用卡客户的实际支付情况,那么数据挖掘者的工作就可能是围绕着获取信用卡使用者实际支付情况而展开的。
有时还要用户提供一些先验的知识,例如概念树等。这些先验知识可能是用户业务领域知识或以前数据挖掘所获得的初步成果。这就意味着数据挖掘是一个过程,在挖掘过程中可能提出新的问题,可能尝试用其他方法来检验数据,在数据的子集上进行同样的研究。有时业务对象是一些已经理解的数据,但是在某些情况下还需要对这些数据进行挖掘。此时,不是通过数据挖掘发现新的有价值的信息,而是通过数据挖掘验证假设的正确性,或者是通过同样方式的数据挖掘查看模式是否发生变化。如果在经常性的同样的数据挖掘中的一次挖掘没有出现以前同样的结果,这意味着模式已经发生了变化,可能需要进行更深层次的挖掘。
例如,"提高客户对企业促销的响应率"和"提高每个客户的响应价值"这两个目标是不同的,并且在定义问题的同时,也生成了评价 CRM 应用结果的标准和方法,即确定了数据挖掘的评价指标。
2)准备数据
在确定数据挖掘的业务对象后,需要搜索所有与业务对象有关的内部和外部数据,从中选出适合于数据挖掘应用的数据。对数据的选择必须在建立数据挖掘模型之前完成。选择数据后,还需要对数据进行预处理,对数据进行清洗、解决数据中的缺失值、冗余、数据值的不一致性、数据定义的不一致性、过时数据等问题。在数据挖掘时,有时还需要对数据分组,以提高数据挖掘的效率,降低模型的复杂度。
3)建立模型
将数据转换成一个分析模型,这个分析模型是针对挖掘算法建立的。建立一个真正适合挖掘算法的分析模型,是数据挖掘的关键。
4)数据挖掘
对所得到的经过转化的数据进行挖掘,除了完善与选择合适的算法需要人工干预外,数据挖掘工作都由数据挖掘工具自动完成。
5)结果分析
当数据挖掘出现结果后,要对挖掘结果进行解释和评估。具体的解释和评估方法一般根据数据挖掘操作结果所制定的决策成败来定,但是管理决策分析人员在使用数据挖掘结果之前,又希望能够对挖掘的结果进行评估,以保证数据挖掘结果在实际应用中的成功率。
因此,在对数据挖掘结果进行评价时,可以考虑这样几个方面的问题:
- 第一,建立模型相同的数据集在模型上进行操作所获得的结果要优于用不同数据集在模型上的操作结果;
- 第二,模型的某些结果可能比其他预测结果更加准确;
- 第三,由于模型是以样板数据为基础建立的,因此,实际结果往往会比建模时的结果差。
- 另外,利用可视化技术可将数据挖掘结果表现得更清楚,更有利于对数据挖掘的结果分析。
6)知识应用
数据挖掘的结果经过业务决策人员的认可,才能实际利用。要将通过数据挖掘得出的预测模式和各个领域的专家知识结合在一起,构成一个可供不同类型的人使用的应用程序。也只有通过对挖掘知识的应用,才能对数据挖掘的成果做出正确的评价。但是,在应用数据挖掘的成果时,决策人员关心的是数据挖掘的最终结果与用其他候选结果在实际应用中的差距。
数据挖掘技术可以让现有的软件和硬件更加自动化,并且可以在升级的或者新开发的平台上执行。当数据挖掘工具运行于高性能的并行处理系统上的时候,它能在数分钟内分析一个超大型的数据库。这种更快的处理速度意味着用户有更多的机会来分析数据,让分析的结果更加准确可靠,并且易于理解。数据库可以由此拓展深度和广度。