R语言大数据分析与挖掘 课件 第九章 关联算法.pptx

R语言大数据分析与挖掘 课件 第九章 关联算法.pptx

第9章?关联算法

内容要点1、了解关联算法的相关理论。2、掌握R语言中Apriori算法建模的方法。3、掌握R语言中ECLAT算法建模的方法。

关联算法概述Apriori算法ECLAT算法123

关联算法概述关联是指一个事件和其他事件之间的联系,这些联系蕴含在交易数据、关系数据或其他信息载体中。在用户设定的条件下利用算法查找存在于数据中的项目集合或对象集合之间的频繁模式、关联、相关性或因果结构就是关联分析。不同项集间的联系就是关联规则,在设定条件时一般要设定支持度及信任度。关联分析的相关概念如图9-1所示。在用户设定的条件下利用算法查找存在于数据中的项目集合或对象集合之间的频繁模式、关联、相关性或因果结构就是关联分析。不同项集间的联系就是关联规则,在设定条件时一般要设定支持度及信任度。关联分析的相关概念如图9-1所示。

关联算法概述在一家超市中,人们发现了一个特别有趣的现象:尿布与啤酒这两种风马牛不相及的商品居然摆在一起。但这一奇怪的举措居然使尿布和啤酒的销量大幅增加了。这可不是一个笑话,而是一直被商家所津津乐道的发生在美国沃尔玛连锁超市的真实案例。原来,美国的妇女通常在家照顾孩子,所以她们经常会嘱咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会顺手购买自己爱喝的啤酒。这个发现为商家带来了大量的利润,但是如何从非常多数据中,发现啤酒和尿布销售之间的联系呢?这就需要对数据中的啤酒和尿布进行关联分析找到它们的关联规则。示例:表9-1是一个超市几名顾客的交易信息。对此数据集进行关联分析,可以找出关联规则{Diaper}→{Beer}。它代表的意义是购买了Diaper的顾客会购买Beer。这个关系不是必然的,但是可能性很大。这就已经足够用来辅助商家调整Diaper和Beer的摆放位置了,如摆放在相近的位置进行捆绑促销来提高销售量。

关联算法概述相关名词

关联算法概述关联规则及频繁项集的产生关联规则:形如X→Y这样的蕴含关系称为关联规则,X和Y均是项集。关联规则有两个属性:支持度和置信度。(1)关联规则的支持度(见右),N是事务的总数。(2)关联规则的置信度(见右)。由此可以定义关联分析问题:在给定的事务集中,找到(支持度,置信度)大于给定阈值(sS0,C0)的所有关联规则。普通的方法是遍历所有的关联规则,其复杂度为(见右)。好一点的方法是使用剪枝,因为关联规则的支持度只与项集有关,可以首先筛选出支持度大于阈值s0的所有项集,这样的项集叫作频繁项集。给定频繁项集,可以从中选出置信度大于阈值c0的所有关联规则,这样的规则叫作强规则。关联规则的支持度关联规则的置信度复杂度

Apriori算法Apriori算法是常用于挖掘数据关联规则的算法,能够发现事务数据库中频繁出现的项集,这些联系构成的规则可帮助用户找出某些行为特征,以便进行企业决策。Apriori算法概述Apriori算法是一种最有影响的挖掘布尔关联规则(规则形如X→Y的蕴涵式)频繁项集的算法,其核心思想是通过候选项集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。而且算法已经被广泛地应用到商业、网络安全等各个领域。很多的挖掘算法是在Apriori算法的基础上进行改进的,如基于散列(Hash)的方法、基于数据分割(Partition)的方法及不产生候选项集的FP-growth算法等。因此要了解关联规则算法首先要了解Apriori算法。

Apriori算法先验原理为降低产生频繁项集的计算复杂度,利用支持度对候选项集进行剪枝,这也是Apriori算法所利用的第一条先验原理。Apriori定律1:若一个集合是频繁项集,则它的所有子集都是频繁项集。例如,假设一个集合{A,B}是频繁项集,即A、B同时出现在一条记录的次数大于或等于最小支持度min_support,则它的子集{A},{B}出现次数必定大于或等于min_support,即它的子集都是频繁项集。Apriori定律2:若一个集合不是频繁项集,则它的所有超集都不是频繁项集。例如,假设集合{A}不是频繁项集,即A出现的次数小于min_support,则它的任何超集如{A,B}出现的次数必定小于min_support,因此其超集必定也不是频繁项集。当发现{A,B}是非频繁项集时,就代表所有包含它的超集也是非频繁的,即可以将它们都剪除,如图9-2所示。

Apriori算法连接步和剪枝步1.连接步若有两个(k-1)-项集,每个项集按照“属性-值”(一般按值)的字母顺序进行排序。若两个(k-1)-项集的前(k-2)个项相同,而最后一个项不同,则证明它们是可连接的,即这个(k-1)-项集可以联姻,即可连接生成

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档