毕业设计(论文)基于SQL的关系数据库关联规则数据挖掘.doc
《毕业设计(论文)基于SQL的关系数据库关联规则数据挖掘.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于SQL的关系数据库关联规则数据挖掘.doc(31页珍藏版)》请在三一办公上搜索。
1、一、 数据挖掘的概念:数据挖掘,又称为数据采掘、数据开采等。一般认为数据挖掘是数据库中知识发现(Knowledge Discovery in Database,简记KDD)的一个环节,是KDD中采用具体的数据挖掘算法从数据中自动高效地提取有用模式的最重要的步骤19。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据集中识别有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。它是一门涉及面很广的交叉学科,包括机器学习、数理统计、神经网络、数据库、模式识别、粗糙集、模糊数学等相关技术15。数据挖掘是一门交叉性学科,有很多不同的术语名称。其中,最常用的是知识发现和数据挖掘。相对来讲
2、,数据挖掘主要流行于统计界(最早出现于统计文献中)、数据分析、数据库和管理信息系统界;而知识发现则主要流行于人工智能和机器学习界。数据挖掘可粗略地理解为三部曲:数据准备(data preparation)、数据挖掘以及结果的解释评估(interpretation and evaluation)。 根据数据挖掘的任务分,有如下几种:分类或预测模型数据挖掘、数据总结、数据聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等。根据数据挖掘的对象分,有如下若干种数据源:关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据、异质数据库、遗产(legacy)数
3、据库、Web数据源。根据数据挖掘的方法分,可粗分为:统计方法、机器学习方法、神经网络方法和数据库方法。统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)、以及模糊集、粗糙集、支持向量机等。机器学习中,可细分为:归纳学习方法(决策树、规则归纳等)、基于范例的推理CBR、遗传算法、贝叶斯信念网络等。神经网络方法,可细分为:前向神经网络(BP算法等)、自组织神经网络(自组织特征映射、竞争学习等)等。数据库方法主要是基于可视化的多维数据分析或OLAP方法,另外还有面向属性的归纳
4、方法。数据库能有效地存储数据和查询数据, 但不能有效地分析数据。数据挖掘不但分析数据,而且帮助用户得知原因,并预测未来。因此,数据挖掘被普遍认为是非常有效的数据分析工具,被信息产业界认为是数据库系统最重要的前沿技术之一,是信息产业最有前途的交叉学科。数据挖掘的过程:1)了解应用领域,掌握相关先验知识以及应用的目标。2)收集并集成数据。3)对数据进行清洁和预处理。4)对数据进行归约和投影(发现有用特征,降维和变量约简)。5)确定适当的数据挖掘功能(总结、分类、回归、关联、聚类)。6)确定数据挖掘算法,并进行数据挖掘。7)对挖掘结果进行评估。8)对挖掘结果进行解释:分析结果。9)应用发现的知识。数
5、据挖掘功能用于指定数据挖掘任务中要找的模式类型。数据挖掘任务一般分两类:1)描述式数据挖掘:刻划DB中数据的一般特性。2)预测式数据挖掘:在当前数据上进行推断,以进行预测。数据挖掘的方法包括:1) 统计分析方法:对关系表的各属性进行统计分析,找到它们之间存在的关系。2) 决策树:决策树可用于分类。3) 人工神经网络:人工神经网络用于分类、聚类、特征挖掘、预测和模式识别。4) 遗传算法(Genetic Algorithm):遗传算法用于分类、关系型规则挖掘等。5) 粗糙集:粗糙集用于数据简化、数据意义评估、对象相似性或共性分析、因果关系及范式挖掘等。6) 联机分析处理技术。基于关系数据库的多维关
6、联规则数据挖掘这一节主要介绍系统中使用的基于关系数据库的多维关联规则数据挖掘方面的技术。一、 关联规则数据挖掘关联规则挖掘是数据挖掘研究的一个重要分支,关联规则是数据挖掘的众多知识类型中最为典型的一种。目前关联规则挖掘问题已经引起了数据库、人工智能、统计学、信息检索、可视化及信息科学等诸多领域的广大学者和研究机构的高度重视,取得了许多研究成果。由于关联规则形式简洁、易于解释和理解并可以有效地捕捉数据间的重要关系,因此从大型数据库中挖掘关联规则问题已成为数据挖掘中最成熟、最重要、最活跃的研究内容。关联规则挖掘最早是由Agrawal等人提出的。最初提出的动机是针对购物篮分析问题提出的,其目的是为了
7、发现交易数据库中不同商品之间的联系规则。这些规则刻画了顾客购买行为模式,可以用来指导商家科学地安排进货、库存以及货架设计等。之后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作涉及到关联规则的挖掘理论的探索、原有的算法的改进和新算法的设计、并行关联规则挖掘(Parallel Association Rule Mining)以及数量关联规则挖掘(Quantitive Association Rule Mining)等问题。在提高挖掘规则算法的效率、适应性、可用性以及应用推广等方面,许多学者进行了不懈的努力。一个事务数据库中的关联规则挖掘可以描述如下:设I= i1,i2,Im 是一个
8、项目集合,事务数据库D= t1,t2,tn 是由一系列具有唯一标识TID的事务组成,每个事务ti(i=1,2,n)都对应I上的一个子集。设i1I,项目集i1在D上的支持度(support)是包含i1的事务在D中所占的百分比,即support(i1)= | t D | i1t| / | D|。一个定义在I和D上的形如i1= i2的关联规则通过满足一定的可信度(confidence)来给出。所谓规则的可信度是指包含i1和i2的事务数与包含i1的事务数之比,即confidence(i1= i2)= support(i1U i2)/ support(i1),其中i1,i2I,i1i2=。给定一个事务数
9、据库,关联规则挖掘问题就是通过用户指定最小支持度(minsupport)和最小可信度(minconfidence)来寻找合适关联规则的过程。一般地,关联规则挖掘问题可以划分成两个子问题:(1)发现频繁项目集通过用户给定的minsupport,寻找所有频繁项目集(Frequent Itemset),即满足support不小于minsupport的项目集。事实上,这些频繁项目集可能具有包含关系。一般地,我们只关心那些不被其它频繁项目集所包含的所谓频繁大项集(Frequent Large Itemset)的集合。这些频繁大项集是形成关联规则基础。(2)生成关联规则通过用户给定的minconfiden
10、ce,在每个最大频繁项目项目集中,寻找confidence不小于minconfidence的关联规则。子问题(1)是近年来关联规则挖掘算法研究的重点。比较流行的方法是基于Agrawal等人建立的项目集格空间理论。这个理论的核心是这样的原理:频繁项目集的子集是频繁项目集;非频繁项目集的超集是非频繁项目集。对于子问题(2)而言,在每个频繁大项集中逐一匹配规则并进行confidence(i1= i2)minconfidence的测试是必需的,因此这部分工作相对比较成熟。关联规则按不同的情况进行分类:1. 基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种
11、类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=职业=“秘书” ,是布尔型关联规则;性别=“女”=avg(收入)=2300,涉及的收入是数值类型,所以是一个数值型关联规则。2. 基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=Sony打印机,是一个细节数据上
12、的单层关联规则;台式机=Sony打印机,是一个较高层次和细节层次之间的多层关联规则。3. 基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=尿布,这条规则只涉及到用户的购买的物品;性别=“女”=职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。二、 关联规则挖掘算法l Apriori的关联规则挖掘算法15Apriori算法的有效性,在于它利
13、用了一个非常重要的原理,即Apriori性质:如果一个项集是频繁的,则这个项集的任意一个非空子集都是频繁的。该性质属于一种特殊的分类,也称作反单调性。算法2-1 Apriori-发现频繁项目集(1) L1 = large 1-itemsets;(2) for (k=2; Lk-1F; k+) do begin(3) Ck=apriori-gen(Lk-1); /新的候选集(4) for all transactions tD do begin(5) Ct=subset(Ck,t); /事务t中包含的候选集(6) for all candidates c Ct do(7) c.count+;(8
14、) end(9) Lk=c Ck |c.countminsup(10) end(11) Answer=kLk;首先产生频繁1-项集L1,然后是频繁2-项集L2,直到有某个r值使得Lr为空,这时算法停止。这里在第k次循环中,过程先产生候选k-项集的集合Ck,Ck中的每一个项集是对两个只有一个项不同的属于Lk-1的频繁项集做一个(k-2)-连接来产生的。Ck中的项集是用来产生频繁项集的候选集,最后的频繁项集Lk必须是Ck的一个子集。Ck中的每个元素需在交易数据库中进行验证来决定其是否加入Lk。算法2-1中调用了apriori-gen(Lk-1),是为了通过k-1频繁项集产生K候选集。算法2-2描述
15、了apriori-gen过程。算法2-2 apriori-gen(Lk-1)-候选集产生:(1) FOR all itemset p Lk-1 DO BEGIN(2) FOR all itemset q Lk-1 DO BEGIN(3) IF p.item1=q.item1, , p.itemk-2=q.itemk-2, p.itemk-1 1,有算法产生Ck(步骤(10)。与事务t相应的Ck的成员是(t.TID,cCk|t中包含的c)。若某个事务不包含任何候选k项目集,那么Ck对于这个事务就没有条目(Entry)。这样,Ck中条目数量比数据库中的事务数量少,尤其对于大值的k而言。另外,对于大
16、值的k,每个条目比相应的事务要小,这是因为几乎没有什么候选能包含在此事务中。但是,对于小值的k,每个条目比相应的事务要大,因为Ck中的一个条目包括了此事务中的所有候选k项目集。算法步骤如下: (1) L1=large l-itemsets(2) C1=数据库D;(3) For (k=2; Lk-1; k+) do begin(4) Ck = apriori-gen(Lk-1); /新的候选集(5) Ck= ;(6) for 所有条目tCk-1do begin(7) /确定事务t。TID中包含的候选Ct= cCk |(c-ck) t.项目集的集合(c-ck-1)t.项目集的集合;(8) for
17、所有候选cCt do (9) c.count +;(10) if(Ct) then Ck+=;(11) end(12) Lk=cCk |c.countmin.supp(13) end三、 多维关联规则挖掘方法单维关联规则通常由事务数据库挖掘,如果使用的不是事务数据库,而是关系数据库或数据仓库,则数据和相关信息是以多维形式定义存储的。如关系数据库除记录销售事务中购买的商品外,还记录与商品有关的其它属性:购买数量、价格、销售分店的地址等。将数据库的每个属性或数据仓库的每个维看作一个谓词,这样就能挖掘多维关联规则。根据有没有重复的谓词分为:维间关联规则和混合关联规则。数据库中属性可能是分类的或是量化
18、的(符号属性和量化属性)。其中量化属性的处理分为3种基本方法:使用预定义的概念分层对数值属性离散化;根据数据的分布,将数值属性离散化到箱(bins),即用柱状图方法离散化;数值属性离散化,以紧扣区间数据的语义。在多维关联规则挖掘中是搜索频繁谓词集(k-谓词集)。1. 使用量化属性的静态离散化挖掘多维关联规则此时,数值属性在挖掘前就使用预定义的概念分层离散化,将属性的值用区间替代。例如,对于零件的价格可以用区间值,如“010$” 、“1120$” 、“2130$”等替代原来属性的值。而对符号属性,可根据需要概化到较高的概念层。若任务相关数据存放在关系表中,则Apriori算法等方法只要稍加修改,
19、就可找出所有的频繁谓词。我们可以利用数据立方体来挖掘多维关联规则,我们必须先建立一个数据立方体,然后采用类似于Apriori所用的策略来寻找频繁谓词集,基于先验知识:频繁谓词集的每个子集也必须是频繁的。但是在没有挖掘任务的相关数据立方体存在时,必须创建。我们可以修改那些创建和计算数据立方体的算法,在数据立方体构造的时候搜索频繁谓词集。如图2-1 3-D数据立方体:()(price)(producer)(material)(material,producer)(price,producer)(material,price,producer)(material,price)图2-1 3-D数据立方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 SQL 关系 数据库 关联 规则 数据 挖掘
链接地址:https://www.31ppt.com/p-2396285.html