关联规则算法的应用(附件)【字数:8228】
摘 要摘 要关联规则挖掘算法是数据挖掘算法中的重要研究方向之一,经过了长期的研究与发展,已经在频繁模式挖掘算法的设计和优化方面趋于成熟,广泛的应用在互联网、金融、生物信息等领域。本文就对关联规则算法进行了系统的学习和研究。本文介绍了关联规则挖掘算法的研究现状,全面的介绍了关联规则算法的基本概念频繁项集、支持度、置信度等概念,以及关联规则算法的思想与关联规则挖掘的步骤。重点介绍了经典的关联规则算法Apriori算法具体步骤,分析了Apriori算法的缺点,并且简单介绍了Apriori算法的改进方法。最后,本文使用python语言编写了一个完整的Apriori算法程序,并收集了关于超市交易方面的数据集。然后,使用编好的程序对数据集进行测试,并给出其中的关联规则。关键词关联规则;Apriori算法;频繁项集
目 录
第一章 绪论 1
1.1 数据挖掘 1
1.2 关联规则算法的研究现状与发展前景 1
第二章 关联规则算法原理 3
2.1 关联规则的定义 3
2.2 关联规则的挖掘过程 4
2.3 Apriori算法 5
2.4 Apriori算法的缺点 6
2.5 Apriori算法的优化方法 6
第三章 Apriori算法的python实现 7
3.1 关联分析 7
3.2 Apriori原理 8
3.3 用Apriori算法寻找频繁项集 9
3.3.1 生成候选项集 10
3.3.2 完整的Apriori算法 11
3.4 从频繁项集中挖掘关联规则 12
3.5 挖掘超市交易数据集中的关联规则 15
结论 20
致谢 21
参考文献 22
绪论
1.1 数据挖掘
数据库技术从20世纪80年代开始,在这30年不断的普及与应用,并随着最近10年互联网的发展,业务数据量急剧增长,呈现出“数据爆炸”的现象。但是,据调查在产生大量数据的同时,占比很大的一部分数据在进入业务系统以后,未得到有效的使用,也就是“数据丰富,信息贫乏(Da *好棒文|www.hbsrm.com +Q: ¥351916072¥
ta Rich and Information Poor)”。所以,如何从庞大的现有数据中挖掘出有价值的信息就成为一个很重要的研究课题。
数据挖掘是从大型的数据集中发现有效信息的一个过程。
数据挖掘的方法有很多种,其中包括分类预测聚类、关联规则挖掘、序列模式挖掘等方法。
1.2 关联规则算法的研究现状与发展前景
近年来,随着医疗、互联网等行业的不断发展,研究技术的不断深入和应用领域的需求的复杂化,关联规则算法也有很多的研究扩展方向:
(1)经典的布尔关联规则的优化
基于经典Apriori算法,人们提出了很多改进缺点的算法。基于Hash表的项集计数技术;基于事务压缩的算法;基于划分的算法;基于抽样技术的算法;基于动态项集计数的算法;并行算法;分布式算法;增量算法等;
(2)多维和多层的关联规则的研究
多层关联规则:因为抽象程度的不同,数据的概念有不同的抽象层次。在关联规则挖掘算法中引入多层次的数据,就是多层关联规则。
多维关联规则:大多数的关联规则都是单维的,仅仅涉及数据集中一个维度或者属性。若涉及数据集中多个维度或者属性,那么挖掘的就是多维关联规则。
(3)基于频繁项集的规则挖掘
关联规则挖掘一般包括两个子问题:①基于支持度,产生频繁项集;②基于可信度,产生强关联规则。大部分的研究内容都是针对第一步,即生成频繁项集的步骤。第二步的研究则较少,所以,有许多的学者对产生强关联规则提出了一些算法,例如关联规则聚类、基于概念格的算法、针对实际问题(如隐私保护等)提出的规则提取算法。
(4)关联规则的增量更新算法
当数据库中的数据量变化,或者支持度、置信度需要调整的时候,如何利用已经得到的挖掘成果来高效地挖掘现在所需要的关联规则,就变成了一个很重要的问题,所以增量更新算法的研究拥有很强的实际意义。
(5)特殊模式类型的关联规则
负关联规则所描述的是项集之间的互斥关系,和传统关联规则不同,负关联规
则研究内容一般都是类似“80%的客户在购买咖啡的时候不会购买茶叶”的问题。
时态关联规则就是附加某种时态约束的规则。与在一般的事务数据库中进行的关联规则挖掘对比起来,时态关联规则可以更好地反映数据集中隐藏的和时间有关的知识、信息。
加权关联规则挖掘,主要思想就是区别对待数据库中的不同项目的重要性,给予不同项目不同的权重,挖掘出不同重要性的规则。
约束关联规则的挖掘,就是加强人对数据挖掘过程的导向和控制,以此提高数据挖掘的性能和效率,避免挖掘出大量用户不感兴趣的规则。
关联规则算法原理
2.1 关联规则的定义
关联规则(Association Rules),是数据挖掘中的一个很重要的课题,被用于从大量的数据集中挖掘出有价值的数据项之间的关系。
关联规则算法通常分为两步: 1)基于支持度,产生频繁项集;
2)基于可信度,产生强关联规则。
关联规则挖掘最初的应用的主要是交易型的数据库。关联规则挖掘中涉及到下面这些基本的概念和定义:
(1)项目(item):数据库中的属性字段;设为所有数据项的集合,中的元素就是项目。
(2)事务(transaction):事务指在事务数据库中,其中一次交易包含的所有不同项目的集合。
(3)事务数据库(transaction in database):;事务数据库由一系列具有唯一标识(Tid)的事务组成,而且tid是有序的。
(4)项集的支持度(support):如果X是一个项集(项目的集合),D是事务数据库,D中包含X的事务的数目与D中总的事务的个数之比称为X在事务数据库D中的支持度,记为:
(5)项集长度:一个项集(项目的集合)包含的所有不同项目的总数就是这个项集的长度。
(6)规则:当并且的时,一个关联规则就可以表示为。
(7)最小支持度(minimum support):用户自己定义的阈值,记作minsup。
(8)置信度(confidence):对形如的关联规则,X、Y是项集,这条规则的置信度就是D中同时包含X、Y的事务的个数,与D中包含X的事务数之比,也就是的支持度与X的支持度之比,如下公式所示:
目 录
第一章 绪论 1
1.1 数据挖掘 1
1.2 关联规则算法的研究现状与发展前景 1
第二章 关联规则算法原理 3
2.1 关联规则的定义 3
2.2 关联规则的挖掘过程 4
2.3 Apriori算法 5
2.4 Apriori算法的缺点 6
2.5 Apriori算法的优化方法 6
第三章 Apriori算法的python实现 7
3.1 关联分析 7
3.2 Apriori原理 8
3.3 用Apriori算法寻找频繁项集 9
3.3.1 生成候选项集 10
3.3.2 完整的Apriori算法 11
3.4 从频繁项集中挖掘关联规则 12
3.5 挖掘超市交易数据集中的关联规则 15
结论 20
致谢 21
参考文献 22
绪论
1.1 数据挖掘
数据库技术从20世纪80年代开始,在这30年不断的普及与应用,并随着最近10年互联网的发展,业务数据量急剧增长,呈现出“数据爆炸”的现象。但是,据调查在产生大量数据的同时,占比很大的一部分数据在进入业务系统以后,未得到有效的使用,也就是“数据丰富,信息贫乏(Da *好棒文|www.hbsrm.com +Q: ¥351916072¥
ta Rich and Information Poor)”。所以,如何从庞大的现有数据中挖掘出有价值的信息就成为一个很重要的研究课题。
数据挖掘是从大型的数据集中发现有效信息的一个过程。
数据挖掘的方法有很多种,其中包括分类预测聚类、关联规则挖掘、序列模式挖掘等方法。
1.2 关联规则算法的研究现状与发展前景
近年来,随着医疗、互联网等行业的不断发展,研究技术的不断深入和应用领域的需求的复杂化,关联规则算法也有很多的研究扩展方向:
(1)经典的布尔关联规则的优化
基于经典Apriori算法,人们提出了很多改进缺点的算法。基于Hash表的项集计数技术;基于事务压缩的算法;基于划分的算法;基于抽样技术的算法;基于动态项集计数的算法;并行算法;分布式算法;增量算法等;
(2)多维和多层的关联规则的研究
多层关联规则:因为抽象程度的不同,数据的概念有不同的抽象层次。在关联规则挖掘算法中引入多层次的数据,就是多层关联规则。
多维关联规则:大多数的关联规则都是单维的,仅仅涉及数据集中一个维度或者属性。若涉及数据集中多个维度或者属性,那么挖掘的就是多维关联规则。
(3)基于频繁项集的规则挖掘
关联规则挖掘一般包括两个子问题:①基于支持度,产生频繁项集;②基于可信度,产生强关联规则。大部分的研究内容都是针对第一步,即生成频繁项集的步骤。第二步的研究则较少,所以,有许多的学者对产生强关联规则提出了一些算法,例如关联规则聚类、基于概念格的算法、针对实际问题(如隐私保护等)提出的规则提取算法。
(4)关联规则的增量更新算法
当数据库中的数据量变化,或者支持度、置信度需要调整的时候,如何利用已经得到的挖掘成果来高效地挖掘现在所需要的关联规则,就变成了一个很重要的问题,所以增量更新算法的研究拥有很强的实际意义。
(5)特殊模式类型的关联规则
负关联规则所描述的是项集之间的互斥关系,和传统关联规则不同,负关联规
则研究内容一般都是类似“80%的客户在购买咖啡的时候不会购买茶叶”的问题。
时态关联规则就是附加某种时态约束的规则。与在一般的事务数据库中进行的关联规则挖掘对比起来,时态关联规则可以更好地反映数据集中隐藏的和时间有关的知识、信息。
加权关联规则挖掘,主要思想就是区别对待数据库中的不同项目的重要性,给予不同项目不同的权重,挖掘出不同重要性的规则。
约束关联规则的挖掘,就是加强人对数据挖掘过程的导向和控制,以此提高数据挖掘的性能和效率,避免挖掘出大量用户不感兴趣的规则。
关联规则算法原理
2.1 关联规则的定义
关联规则(Association Rules),是数据挖掘中的一个很重要的课题,被用于从大量的数据集中挖掘出有价值的数据项之间的关系。
关联规则算法通常分为两步: 1)基于支持度,产生频繁项集;
2)基于可信度,产生强关联规则。
关联规则挖掘最初的应用的主要是交易型的数据库。关联规则挖掘中涉及到下面这些基本的概念和定义:
(1)项目(item):数据库中的属性字段;设为所有数据项的集合,中的元素就是项目。
(2)事务(transaction):事务指在事务数据库中,其中一次交易包含的所有不同项目的集合。
(3)事务数据库(transaction in database):;事务数据库由一系列具有唯一标识(Tid)的事务组成,而且tid是有序的。
(4)项集的支持度(support):如果X是一个项集(项目的集合),D是事务数据库,D中包含X的事务的数目与D中总的事务的个数之比称为X在事务数据库D中的支持度,记为:
(5)项集长度:一个项集(项目的集合)包含的所有不同项目的总数就是这个项集的长度。
(6)规则:当并且的时,一个关联规则就可以表示为。
(7)最小支持度(minimum support):用户自己定义的阈值,记作minsup。
(8)置信度(confidence):对形如的关联规则,X、Y是项集,这条规则的置信度就是D中同时包含X、Y的事务的个数,与D中包含X的事务数之比,也就是的支持度与X的支持度之比,如下公式所示:
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/739.html