概念
OLTP( On-Line Transaction Processing)联机事务处理
——当前数据库操作:增删改查
OLAP( On-Line Analytical Processing )联机分析处理
——(可能)多个数据库数据汇总聚集
DM(Data Mining)数据挖掘
——(课本)自动发现隐藏在大量数据中的隐含模式和有趣知识
——使用机器智能发现隐藏在大量数据中的隐含模式和有趣知识
OLAM(On-Line Analytical Mining)联机分析挖掘
——OLAP+DM
大数据及其特征
4个V:
- Volume,体积大 一般>=10TB
- Variety, 多源异构
- Velocity,数据增长快要求处理速度快
- Value, 价值巨大, 单位价值密度低
- Veracity,准确性,IBM提出,强调数据质量(第5V)
大部分要求: 在线 分布式 实时 处理
在线: 数据很可能不能一次获取(流数据)
分布式:要求资源调度
实时: 响应速度
大数据技术栈
大数据平台总览(2017):
http://mattturck.com/wp-content/uploads/2017/04/Big-Data-Landscape-2017-Matt-Turck-FirstMark.png
如何有效使用数据库中存储的海量数据?
数据挖掘就是从大量的实际应用数据中,提取隐含在其中的、人们事先不知道的但又可能有用的信息和知识的过程。
数据挖掘的主要目的是提高市场决策能力,检测异常模式,在过去的经验基础上预言未来趋势等。
例如,通过对大量气象资料和销售资料的处理及分析,德国的啤酒商发现,夏天气温每升高1℃,就会增加230万瓶的啤酒销量;而日本人则发现,夏季30℃以上的天气每增加一天,空调的销量便增加4万台。
数据挖掘
数据挖掘(Data Mining) :又称为数据库中的知识发现,是基于AI、机器学习、统计学等技术,高度自动化地分析原有的数据,进行归纳性推理,从数据仓库或数据库中提取可信的、新颖的、有效的、人们感兴趣的、能别人理解的知识的高级处理过程。这些知识是隐含的、事先未知的有用信息,提取的知识表现为概念、规则、模式、规律等形式,以帮助管理者作出正确的决策。
模式:它给出了数据特性或数据之间的关系,是对数据所包含的信息更抽象的描述。模式按功能可以分为预测型模式和描述型模式。在实际应用中,可以细分为关联模式、分类模式、聚类模式和序列模式等。
数据挖掘是一门交叉性学科,它涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。可广泛地应用于信息管理、过程控制、科学研究、决策支持等许多方面。
数据挖掘的发展
“从数据中发现有用模式”历来有很多称法,如:
数据挖掘(data mining)
知识提取(knowledge extraction)
信息发现(information discovery)
信息收获(information harvesting)
数据考古(data archaeology)
数据模式处理(data pattern processing)
“数据挖掘”的称法大部分是由统计学家,数据分析学家和MIS团体使用的,在数据库领域也得到了广泛接受。
70~80年代:知识发现与数据挖掘结合
1989年6月:在美国底特律举行了第一届“从数据库中知识发现”的国际学术会议,在这次会议中第一次使用了KDD 这个词来强调“知识”是数据驱动(data-driven)发现的最终结果。
1995:加拿大召开第一届知识发现与数据挖掘国际学术会议
数据挖掘技术的应用开发在国外已经迅速发展,许多大公司(如Informix, Oracle, IBM等)都投入了巨资对其进行研究,并开发出了一些产品和原型,如DBMiner、Quest、EXPLORA等。
第一本关于数据挖掘的国际学术杂志《Data Mining and Knowledge Discovery》于1997年3月创刊。
国内在这方面的研究起步比较晚,早期研究的方向多集中于关联规则的挖掘,近来关于时序模式、分类、聚类、WEB数据挖掘等的研究也日益受到重视,并取得了不少可喜的成果,一些原型系统或数据挖掘工具已经研制成功并在不断完善中。
DM系统的体系结构
1)DW 的步骤:
- 数据准备:
——数据集成
——数据选择
——预分析
- 挖掘
- 表述
- 评价
(2)DW 系统的结构:
数据挖掘的过程
数据准备阶段:经过处理过的数据一般存储在数据仓库中。数据准备是否做得充分将影响到数据挖掘的效率和准确度以及最终模式的有效性。包括:
- 数据的选择:选择相关的数据
- 数据的净化:消除噪音、冗余数据
- 数据的推测:推算缺失数据
- 数据的转化:离散值数据与连续值数据之间的相互转换、数据值的分组分类、数据项之间的计算组合等
- 数据的缩减:减少数据量
挖掘阶段:该阶段是数据挖掘的核心步骤,也是技术难点所在。根据数据挖掘的目标,采用人工智能、集合论、统计学等方法,应用相应的数据挖掘算法,分析数据并通过可视化工具表述所获得的模式或规则。
评价阶段:在数据挖掘中得到的模式可能是没有实际意义或没有使用价值的,也有可能不能准确反映数据的真实意义,甚至在某些情况下是与事实相反的,因此需要评估,确定哪些是有效的、有用的模式。评估可以根据用户多年的经验,有些模式也可以直接用数据来检验其准确性。
巩固和运用阶段:用户理解的、并被认为是符合实际和有价值的模式形成了知识。同时还要对知识进行一致性检查,解决与以前得到的知识互相冲突、矛盾的地方,使知识得到巩固。
运用知识有两种方法:一种是只需看知识本身所描述的关系或结果,就可以对决策提供支持;另一种是要求运用知识对新的数据进行分析,由此可能产生新的问题,而需要对知识作进一步的优化。
数据挖掘的任务: 是从大量的数据中发现模式。
比较典型的有:
-
预测模型(Predictive Modeling):
即从数据库或数据仓库中已知的数据推测未知的数据或对象集中某些属性的值分布
建立预测模型的常用方法:
回归分析
线性模型
关联规则
决策树预测
遗传算法
神经网络 -
关联(Association)分析:关联规则描述了一组数据项之间的密切度或关系。关联分析用于发现项目集之间的关联。
在关联规则挖掘算法中,通常给出了置信度和支持度两个概念,对于置信度和支持度均大于给定阈值的规则称为强规则,而关联分析主要就是对强规则的挖掘。
近几年研究较多。现在,已经从单一概念层次关联规则的发现发展到多概念层次的关联规则的发现,并把研究的重点放在提高算法的效率和规模可收缩性上。它广泛地运用于帮助市场导向、商品目录设计客户关系管理)(CRM)和其他各种商业决策过程中。
关联分析算法:APRIORI算法、DHP算法、DIC算法、PARTITION算法及它们的各种改进算法等。另外,对于大规模、分布在不同站点上的数据库或数据仓库,关联规则的挖掘可以使用并行算法,如:Count分布算法、Data分布算法、Candidate 分布算法、智能Data分布算法(IDD)和DMA分布算法等。 -
分类(Classification)分析:根据数据的特征为每个类别建立一个模型,根据数据的属性将数据分配到不同的组中。
在实际应用过程中,分类规则可以分析分组中数据的各种属性,并找出数据的属性模型,从而确定哪些数据属于哪些组。这样就可以利用该模型来分析已有数据,并预测新数据将属于哪一个组。类的描述可以是显式的,如用一组特征概念描述;也可以是隐式的,如用一个数学公式或数学模型描述。分类分析已经成功地用于顾客分类、疾病分类、商业建模和信用卡分析等。
分类分析的常用方法:
约略(Rough)集
决策树
神经网络
统计分析法 -
聚类(Clustering)分析:聚类是指一组彼此间非常“相似”的数据对象的集合。相似的程度可以通过距离函数来表示,由用户或专家指定。
聚类分析是按照某种相近程度度量方法将数据分成互不相同的一些分组。每一个分组中的数据相近,不同分组之间的数据相差较大。
好的聚类方法可以产生高质量的聚类,保证每一聚类内部的相似性很高,而各聚类之间的相似性很低。聚类分析的核心是将某些定性的相近程度测量方法转换成定量测试方法。
采用聚类分析,系统可以根据部分数据发现规律,找出对全体数据的描述。
聚类分析的常用方法:
随机搜索聚类法
特征聚类
CF树 -
序列(Sequence)分析:序列分析主要用于分析数据仓库中的某类与时间相关的数据,搜索类似的序列或子序列,并挖掘时序模式、周期性、趋势和偏离等。
例如,它可以导出类似“若AT&T股票连续上涨两天且DEC股票不下跌,则第三天IBM股票上涨的可能性为75%”的数据关系。序列模式可以看成是一种特定的关联模型,它在关联模型中增加了时间属性。 -
偏差检测(Deviation Detection):用于检测并解释数据分类的偏差,它有助于滤掉知识发现引擎所抽取的无关信息,也可滤掉那些不合适的数据,同时可产生新的关注性事实。
-
模式相似性挖掘:用于在时间数据库或空间数据库中搜索相似模式时,从所有对象中找出用户定义范围内的对象;或找出所有元素对,元素对中两者的距离小于用户定义的距离范围。模式相似性挖掘的方法有相似度测量法、遗传算法等。
-
Web数据挖掘:万维网是一个巨大的、分布广泛的和全球性的信息服务中心,其中包含了丰富的超链接信息,为数据挖掘提供了丰富的资源。
Web使用模式挖掘:在Web环境中,文档和对象一般都是通过链接来便于用户访问。捕捉用户的存取模式或发现一个Web网站最频繁的访问路径称为Web使用模式挖掘或Web路径挖掘。
1)Web结构挖掘:是挖掘Web的链接结构,并找出关于某一主题的权威网站。
2)Web内容挖掘:是指在大量训练样本的基础上,得到数据对象之间的内在特征,并以此为依据进行有目的的信息筛选,从而获得指定内容的信息。
基于Web的研究:搜索引擎的设计、文件自动分类技术、关键词的自动提取、半结构化信息的提取及Web上新型应用的研究
数据挖掘系统的结构
数据挖掘系统可以采用三层的C/S结构:
- 第一层:为图形用户界面,位于系统的客户端;
- 第二层:为数据挖掘引擎,它是数据挖掘系统的核心,位于系统的应用服务器端;
- 第三层:为数据库与数据仓库,位于数据服务器端。
数据挖掘系统的结构-图形用户界面
- 该模块实现用户与数据挖掘系统之间的通信,允许用户与系统交互。
- 用户可以通过图形化界面指定数据挖掘任务、输入有关信息,根据系统以可视化形式输出的数据挖掘的中间结果进行探索式的数据挖掘。
- 此外,该模块还提供用户浏览数据库和数据仓库模式或数据结构、评价数据挖掘的模式等功能。
数据挖掘系统的结构- 数据挖掘引擎
数据挖掘引擎是数据挖掘系统最基本、最重要的部分,是数据挖掘系统的核心。
该部分由一系列功能模块组成,分别用于关联规则挖掘、分类规则挖掘、聚类规则挖掘、时序与序列数据挖掘和WEB数据挖掘等。
数据挖掘系统的结构-数据库与数据仓库
- 该部分位于数据服务器端,包括数据库、知识库、文件系统、其他数据源以及存放经过数据准备提取和集成后数据的数据仓库。在知识库中存放领域知识,用于搜索和对模式进行评价。
- 数据库与数据仓库服务器的功能是根据用户的数据挖掘请求,提取相应的数据供数据挖掘引擎使用。
数据挖掘常用技术
生物学方法
——人工神经网络
——遗传算法
信息论方法
——决策树
集合论方法
——最邻近技术
统计学方法
——可视化技术