数据挖掘概念与技术word版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着计算机和网络的发展,对于大数据需要数据分析,在分析数据的时候,数据挖掘的过程也叫知识发现的过程,它是一门涉及面很广的交叉性新兴学科,涉及到数据库、人工智能、数理统计、可视化、并行计算等领域。本文主要综述了数据挖掘中常用的一些关联规则,分类和聚类的算法。
关键字:数据挖掘;分类;聚类;关联规则
1 引言
1.1 数据挖掘介绍
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等[1]。
数据挖掘出现于20世纪80年代后期,是数据库研究中一个很有应用价值的新领域,是一门交叉性学科,融合了人工智能、数据库技术、模式识别、机器学习、统计学和数据可视化等多个领域的理论和技术.数据挖掘作为一种技术,它的生命周期正处于沟坎阶段,需要时间和精力去研究、开发和逐步成熟,并最终为人们所接受。20世纪80年代中期,数据仓库之父W.H.In-mon在《建立数据仓库》(Building the Data Warehouse)一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数据仓库是在企业管理和决策中面向主题的、集成的、时变的以及非易失的数据集合。与其他数据库应用不同的是,数据仓库更像一种过程—对分布在企业内部各处的业务数据的整合、加工和分析的过程。传统的数据库管理系统(database management system,DBMS)的主要任务是联机事务处理(on-line transaction processing,OLTP);而数据仓库则是在数据分析和决策方面提供服务,这种系统被称为联机分析处理(on-line analyticalprocessing,OLAP).OLAP的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为OLTP已不能满足终端用户对数据库查询分析的需要,结构化查询语言(structured query language,SQL)对数据库进行的简单查询也不能满足用户分析的需求.用户的决策分析需要对关系数据库进行大量计算才能得到结果,因此Codd提出了多维数据库和多维分析的概念[2]。
数据挖掘(Data Mining),就是从存放在数据库,数据仓库或其他信息库中的大量的数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。数据挖掘,在人工智能领域,习惯上又称为数据库中知识发现(Knowledge Discovery in Database, KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程以下三个阶段组成:(1) 数据准备,(2)数据挖掘,(3) 结果表达和解释。数据挖掘可以与用户或知识库交互。
数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化
计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。因此,数据挖掘被信息产业界认为是数据库系统最重要的前沿之一,是信息产业最有前途的交叉学科。
1.2数据挖掘常用方法[3]
数据挖掘系统利用的技术越多,得出的结果的精确性越高。原因很简单,对于某一种技术不适用的问题,其他方法却可能奏效。这主要取决于问题的类型以及数据的类型和规模。
数据挖掘设涉及的学科领域和方法很多,有多种分类法。根据挖掘任务,可分为分类、预测、聚类、关联规则、异常和趋势发现等。
根据挖掘方法。可分为统计方法和机器学习方法。统计方法包含回归分析、判别分析、聚类分析、探索性分析等、机器学习包含神经网络、集成学习、基于案例学习、遗传算法等。
数据挖掘的方法,常用的有分类、聚类、关联、预测。
2关联规则
2.1 Apriori算法
关联规则的挖掘分为两步:(1)找出所有频繁项集;(2)由频繁项集产生强关联规则。而其总体性能由第一步决定。
在搜索频繁项集的时候,最简单、基本的算法就是Apriori算法。它是
R.Agrawal和R.Srikant于1994年提出摄的为布尔关联规则挖掘频繁项集的原创性算法。算法的名字基于这样一个事实:算法使用频繁项集性质的先验知识。Apriori使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累积每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作L1。然后,L1用于找频繁2项集的集合L2,L2用于找L3,如此下去,直到不能再找到频繁k项集。找每个Lk需要一次数据库全扫描。
为提高频繁项集逐层产生的效率,一种称作Apriori性质的重要性质用于压缩搜索空间。Apriori性质:频繁项集的所有非空子集也必须是频繁的。Apriori
性质基于如下观察。根据定义,如果项集I不满足最小支持度阈值min_sup,则I 不是频繁的,即P(I) 2.2 FP-Tree算法 在上面介绍的Apriori算法中,由于Apriori方法的固有的缺陷还是无法克服,即使进行了优化,其效率也仍然不能令人满意。Han Jiawei等人提出了基于频繁模式树(Frequent Pattern Tree,简称为FP-Tree)的发现频繁项目集的算法FP-growth。 这种方法在经过第一遍扫描之后,把数据库中的频繁项目集压缩成一棵频繁模式树,同时依然保留其中的管理信息。随后再将FP-Tree分化成一些条件库,每个库和一个长度为L的频繁项目集相关,然后再对这些条件库分别进行挖掘。当原始数据库很大时,也可以结合划分的方法使得一个FP-Tree可以放入主存中。实验证明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较Apriori算法有巨大的提高。这个算法只进行两次数据库扫描,它不使用候选项目集,直接压缩数据库成一个频繁模式树,最后通过这棵树生成关联规则。 3聚类分析 3.1划分方法 3.1.1 k-means(K均值)聚类 k均值算法以k为输入,把n个对象的集合分成k个簇。首先,随机选择k 个对象,每个对象代表一个簇的初值均值或中心,对剩余的每个对象,根据其与各个簇均值的距离,将其指派到最相似的簇中。然后计算每个簇的新的均值,重复这个过程,直到准则函数的值收敛。其中,E是数据集中所有对象的平方误差和,P是空间中的点,表示给定对象,mi是簇ci的均值,换句话说,对于每个簇中的每个对象,求其到其簇中心距离的平方,然后求和。 3.1.2 k-medoids(K中心)聚类 k均值对离群点是敏感的,一个具有很大的极端值的对象可能会显著扭曲簇的分布,平方误差函数的使用更是严重恶化了这种敏感性。 当不采用簇中对象的均值作为参照点,而是在每个簇中选取一个实际的对象来代表该簇。其余的每个对象聚类到与其最相似的代表性的对象所在的簇中。这样,划分方法仍然基于最小化对象与其对应的参照点之间的相异度之和的原则来执行。