#数据仓库与数据挖掘
4.2、SSIS(Integration Services)
4.4、MDX(multi-dimensional expressions多维表达式)
4.7、PyCharm(Python IDE(Integrated Development Environmen))
4.8、Microsoft Visual Studio (简称 VS )
- 研究背景与意义
随着计算机硬件和软件的飞速发展,尤其是数据库技术与应用的日益普及,人们面临着快速扩张的数据海洋,人们对数据库的要求,已不再满足于简单的数据查询、数据统计,而是希望数据库能对原始数据进行深层次加工,从中挖掘出有用信息,支持决策分析。如何有效利用已有的数据成为人们关注的问题,也正是在这样的背景下数据仓库应运而生。数据仓库一经面世就以其巨大的应用价值和可操作的技术方案得到了国内外商业界、企业界和学术界的高度重视。数据仓库技术是公认的有利于信息利用的最佳解决方案,它不仅能从容解决信息技术人员面临的问题,同时也为商业用户提供了很好的商业契机。数据仓库已成为现代部门决策支持系统建立的重要技术手段。数据仓库的集成技术就是将分布的、异构的、独立的信息源中有用的数据抽取出来经过转换和传输并最终集成到目的数据库系统中最终给用户提供一个统一的数据视图随之而来的数据挖掘技术、数据分析技术很好的应用在数据仓库之上使人们从海量数据中获得有效的信息成为了可能。与日趋成熟的数据管理术与软件工具相比,人们所依赖的数据分析工具功能,却无法有效地为决策者提其决策支持所需要的相关知识,从而形成了一种独特的现象“丰富的数据,贫乏知识”。为有效解决这一问题,自二十世纪年代开始,数据挖掘技术逐步发展来,数据挖掘技术的迅速发展,得益于目前全世界所拥有的巨大数据资源以及对这些数据资源转换为信息和知识资源的巨大需求,对信息和知识的需求来自各行业,从商业管理、生产控制、市场分析到工程设计、科学探索等。数据挖掘可以为是数据管理与分析技术的自然进化产物。
- 系统需求分析
2.1、系统用户分析
利用数据挖掘技术可以帮助获得决策所需的多种知识。在许多情况下,用户并不知道数据存在哪些有价值的信息知识,因此对于一个数据挖掘系统而言,它应该能够同时搜索发现多种模式的知识,以满足用户的期望和实际需要。此外数据挖掘系统还应能够挖掘出多种层次(抽象水平)的模式知识。数据挖掘系统还应容许用户指导挖掘搜索有价值的模式知识。比如:作为一个商场主管,肯定想要知道商场顾客的购物习惯;尤其是希望了解在(一次〉购物过程中,那些商品会在一起被(顾客所〉购买。为帮助回答这一问题,就需要进行市场购物分析,即对顾客在商场购物交易记录数据进行分析。所分析的结果将帮助商场主管制定有针对性的市场营销和广告宣传计划,以及编撰合适的商品目录。比如:市场购物分析结果将帮助商家对商场内商品应如何合理摆放进行规划设计。其中一种策略就是将常常一起购买的商品摆放在相邻近的位置,以方便顾客同时购买这两件商品;如:如果顾客购买电脑的同时常也会购买一些金融管理类软件,那么将电脑软件摆放在电脑硬件附近显然将有助于促进这两种商品的销售﹔而另一种策略则是将电脑软件与电脑硬件分别摆放在商场的两端,这就会促使顾客在购买两种商品时,走更多的路从而达到诱导他们购买更多商品的目的。比如:顾客在决定购买一台昂贵电脑之后,在去购买相应金融管理软件的路上可能会看到安全系统软件,这时他就有可能购买这一类软件。市场购物分析可以帮助商场主管确定那些物品可以进行捆绑减价销售,如一个购买电脑的顾客很有可能购买一个捆绑减价销售的打印机。
2.2、系统功能分析
我所开发的超市销售记录数据挖掘系统是采用关联规则挖掘的方法来挖掘出商家希望得到的销售信息。关联规则挖掘就是从大量的数据中挖掘出有价值描述数据项之间相互联系的有关知识。我们开发的超市销售记录数据挖掘系统主要应用就是市场购物分析。根据被放到一个购物袋的(购物)内容记录数据而发现的不同(被购买)商品之间所存在的关联知识无疑将会帮助商家分析顾客的购买习惯。发现常在一起被购买的商品(关联知识)将帮助商家制定有针对性的市场营销策略。比如:顾客在购买牛奶时,是否也可能同时购买面包或会购买哪个牌子的面包,显然能够回答这些问题的有关信息肯定会有效地帮助商家进行有针对性的促销,以及进行合适的货架商品摆放。如可以将牛奶和面包放在相近的地方或许会促进这两个商品的销售。
将商场所有销售商品设为一个集合,每个商品(item)均为一个取布尔值(真/假)的变量以描述相应商品是否被(一个)顾客购买。因此每个顾客购物(袋)就可以用一个布尔向量来表示。分析相应布尔向量就可获得那些商品是在一起被购买(关联〉的购物模式。如顾客购买电脑的同时也会购买金融管理软件的购物模式。
- 数据仓库与数据挖掘的介绍
3.1、数据仓库
3.1.1、发展历程
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。
数据仓库是由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,做有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。
数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的"Building the Data Warehouse"(《建立数据仓库》)一书中所提出的定义被广泛接受--数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)数据仓库是为企业所有级别的决策制定过程提供支持的所有类型数据的战 略集合。它是单个数据存储,出于分析性报告和决策支持的目的而创建。为企业提供需要业务智能来指导业务流程改进和监视时间、成本、质量和控制。
3.1.2、特点
1、数据仓库是面向主题的;操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、数据仓库是集成的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库;数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到当前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
3、数据仓库是不可更新的,数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询;
4、数据仓库是随时间而变化的,传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。稳定的数据以只读格式保存,且不随时间改变。
5、汇总的。操作性数据映射成决策可用的格式。
6、大容量。时间序列数据集合通常都非常大。
7、非规范化的。Dw数据可以是而且经常是冗余的。
8、元数据。将描述数据的数据保存起来。
9、数据源。数据来自内部的和外部的非集成操作系统。
3.1.3、用途
数据集信息技术与数据智能大环境下,数据仓库在软硬件领域、Internet 和企业内部网解决方案以及数据库方面提供了许多经济高效的计算资源,可以保存极大量的数据供分析使用,且允许使用多种数据访问技术。开放系统技术使得分析大量数据的成本趋于合理,并且硬件解决方案也更为成熟。在数据仓库应用中主要使用的技术如下:
并行:
计算的硬件环境、操作系统环境、 数据库管理系统和所有相关的数据库操作、查询工具和技术、应用程序等各个领域都可以从并行的最新成就中获益。分区:
分区功能使得支持大型表和索引更容易,同时也提高了数据管理和查询性能。
数据压缩:
数据压缩功能降低了数据仓库环境中通常需要的用于存储大量数据的磁盘系统的成本,新的数据压缩技术也已经消除了压缩数据对查询性能造成的负面影响。
3.1.4、数据仓库的设计
1.数据仓库的概念模型设计
概念模型的设计是整个概念模型开发过程的三阶段。设计阶段 依据概念模型分析以及分析过程中收集的任何数据,完成星 型模型和雪花型模型的设计。如果仅依赖ERD,那只能对商品、销售、客户主题设计成如图所示的概念模型。这种模型适合于传统的数据库设计,但不适合于数据仓库的设计。
2.数据仓库的逻辑模型设计
逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出各个业务的
需求,同时对系统的物理实施有着重要的指导作用,它的作用 在于可以通过实体和关系勾勒出企业的数据蓝图,数据仓库的逻辑模型设计任务主要有:分析主题域,确定要装载到数据仓库的主题、确认粒度层次划分、确认数据分割策略、关系模式的定义和记录系统定义、确认数据抽取模型等。 逻辑模型最终设计成果包括每个主题的逻辑定义,并将相关内容记录在数据仓库的元数据中、粒度划分、数据分割策略、表划分和数据来源等。
3.1.5、数据仓库的建立
1.数据仓库数据集一般说来,一个数据集市是按照某一特定部门的决策支持需求而组织起来的、针对一组主题的应用系统。例如,财务部拥有自己的数据集市,用来进行财务方面的报表和分析,市场推广部、销售部等也拥有各自专用的数据集市,用来为本部门的决策支持提供辅助手段。数据集市大都采用多维数据库技术,这种技术对数据的分析而言也许是最优的,但肯定不适合于大量数据的存储,因为多维数据库的数据冗余度很高。为了提高速度,对数据集市中的数据一般都建立大量的索引。换言之,数据集市中往往靠对数据的预处理来换取运行时的高速度, 当业务部门提出新的问题时,如果不在原来设计的范围内,则需要数据库管理员对数据库作许多调整和优化处理。
2、建立维表
维是分析问题的角度,度量是要分析的问题。
多维视图:用包含度量和维的表的数据结构可以创建一个 多维视图,用试题
和维创建的多维模型称为星型模型,星型模型生成的主要表格被称为事实表。事实表的属性值几乎都有连续值。事实表是规范化的。与维表不同不是随时间的推移变化,而是不断变大。
维表:星型模型也具有非常小的表,用来装载描述信息。维表是逆规范化的。
如果把维表置于第二范式中,这样的表称为雪花模型。
维表包括主键,通常对应事实表的外部键。如果维表的主键不在事实表中,这个主键字便被称作退化的维。
创建维表:有3种方法:星型模型、雪花模型和星暴模型。星暴模型含有两张以上的事实表。基本有些充当维事实表。
星型模型:所有信息维都放在同--个维表中。维表信息包含一个唯一的标识
符(ID)和通过这个维表建立的所有维所需的属性。星型模型由小的维表与大
的事实表组成,多称为“小表和大表”。事实表一般是标准表。
雪花模型:把信息分为3种标准格式。产品表、类别表、子类别表。把这些信息放到-~起需要-定数据的连接。雪花模型比星型模型效率低,占空间少。
所有的事实表都有一一个 与之相关的时间维表。
3.2、数据挖掘
3.2.1、发展历程
数据挖掘(英语:Data mining),又译为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。
数据挖掘利用了来自如下一些领域的思想:
- 来自统计学的抽样、估计和假设检验;
- 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
3.2.2、特点
数据挖掘,在人工智能领域,习惯上又称为数据库中的知识发现(Knowledge Discovery in Database, KDD), 也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程由以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。
数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。
数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析,等等。
并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
3.2.3、基本步骤
数据挖掘的步骤会随不同领域的应用而有所变化,每一种数据挖掘技术也会有各自的特性和使用步骤,针对不同问题和需求所制定的数据挖掘过程也会存在差异。此外,数据的完整程度、专业人员支持的程度等都会对建立数据挖掘过程有所影响。这些因素造成了数据挖掘在各不同领域中的运用、规划,以及流程的差异性,即使同一产业,也会因为分析技术和专业知识的涉入程度不同而不同,因此对于数据挖掘过程的系统化、标准化就显得格外重要。如此一来,不仅可以较容易地跨领域应用,也可以结合不同的专业知识,发挥数据挖掘的真正精神。
数据挖掘完整的步骤如下:
① 理解数据和数据的来源(understanding)。
② 获取相关知识与技术(acquisition)。
③ 整合与检查数据(integration and checking)。
④ 去除错误或不一致的数据(data cleaning)。
⑤ 建立模型和假设(model and hypothesis development)。
⑥ 实际数据挖掘工作(data mining)。
⑦ 测试和验证挖掘结果(testing and verification)。
⑧ 解释和应用(interpretation and use)。
由上述步骤可看出,数据挖掘牵涉了大量的准备工作与规划工作,事实上许多专家都认为整套数据挖掘的过程中,有80%的时间和精力是花费在数据预处理阶段,其中包括数据的净化、数据格式转换、变量整合,以及数据表的 链接。可见,在进行数据挖掘技术的分析之前,还有许多准备工作要完成。
3.2.4、基本术语
1)数据挖掘能做以下七种不同事情(分析方法):
· 分类 (Classification)
· 估计(Estimation)
· 预测(Prediction)
· 相关性分组或关联规则(Affinity grouping or association rules)
· 聚类(Clustering)
· 描述和可视化(Description and Visualization)
· 复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等)
2)数据挖掘分类
上七种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘
· 直接数据挖掘
目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量(可以理解成数据库中表的属性,即列)进行描述。
· 间接数据挖掘
目标中没有选出某一具体的变量,用模型进行描述;而是在所有的变量中建立起某种关系 。
· 分类、估值、预言属于直接数据挖掘;后四种属于间接数据挖掘
3)各种分析方法的简介
·分类 (Classification)
首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。
例子:a. 信用卡申请者,分类为低、中、高风险
b. 故障诊断:中国宝钢集团与上海天律信息技术有限公司合作,采用数据挖掘技术对钢材生产的全流程进行质量监控和分析,构建故障地图,实时分析产品出现瑕疵的原因,有效提高了产品的优良率。
· 估计(Estimation)
估计与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。
例子:a. 根据购买模式,估计一个家庭的孩子个数
b. 根据购买模式,估计一个家庭的收入
c. 估计real estate的价值
一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。
· 预测(Prediction)
通常,预测是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。
· 相关性分组或关联规则(Affinity grouping or association rules)
决定哪些事情将一起发生。
例子:a. 超市中客户在购买A的同时,经常会购买B,即A => B(关联规则)
b. 客户在购买A后,隔一段时间,会购买B (序列分析)
· 聚类(Clustering)
聚类是对记录分组,把相似的记录在一个聚集里。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。
例子:a. 一些特定症状的聚集可能预示了一个特定的疾病
b. 租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群。
聚集通常作为数据挖掘的第一步。例如,"哪一种类的促销对客户响应最好?",对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。
· 描述和可视化(Description and Visualization)
是对数据挖掘结果的表示方式。一般只是指数据可视化工具,包含报表工具和商业智能分析产品(BI)的统称。譬如通过Yonghong Z-Suite等工具进行数据的展现,分析,钻取,将数据挖掘的分析结果更形象,深刻的展现出来。
数据挖掘十大经典算法
1.C4.5:是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。
2.K-means算法:是一种聚类算法。
3.SVM:一种监督式学习的方法,广泛运用于统计分类以及回归分析中