欢迎来到魔据教育大数据学院,专注大数据工程师培养!
当前位置:首页 > 学习资料 > 讲师博文 > 关联规则

关联规则

时间:2017-08-17 18:08:20作者:李成龙

 

什么是关联规则
Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases.
关联规则学习一种基于机器学习的,用于发现大型数据变量之间有趣关系的方法。
关联规则是无监督学习,是一种描述性而非预测性的方法,常用于发现数据背后的隐藏规则,经典案例为沃尔玛的啤酒尿布之间的隐藏规则
相关概念
假定一家超市包含 {面包,牛奶,尿布,啤酒,鸡蛋,可乐} 物品,某天共有五名顾客来购买,每名顾客购买物品如表1所示:
 

 
面包
牛奶
尿布
啤酒
鸡蛋
可乐
顾客1
1
1
0
0
0
0
顾客2
1
0
1
1
1
0
顾客3
0
1
1
1
0
1
顾客4
1
1
1
1
0
0
顾客5
1
1
1
0
0
1

表1 顾客购物篮数据
面包、牛奶、尿布等单品种商品被称为
k-项集:k个项构成的集合被称为k-项集,如 {面包,牛奶,鸡蛋} 即为一个3-项集
频繁项集发生次数“较”多的项集。“较”字说明“次数”是一个可调节变量
事务一个购物篮被称为一件事务
关联规则对于项集XY,关联规则是形如X → Y的蕴含表达式,其中X和Y是不相交的项集,即X∩Y=关联规则强度可以用的支持度和置信度衡量。
支持度(Support)X和Y的支持度
 
13-公式1.png
 
即XY同时发生次数,占全部事务的比例,用于确定规则的频繁程度。比如 {面包牛奶} 支持度=3/5=0.6,{面包可乐} 的支持度=1/5=0.2。支持度有啥用?出现次数太少的商品组合别浪费资源和时间去算了。
置信度(Confidence)项集Y项集X的置信度
 
13-公式2.png
 
即当X发生时,Y发生的比例,用于确定Y包含X事务中出现的频繁程度。比如{ 面包,牛奶}的置信度=3/4=0.75{ 面包,可乐 }置信度=1/4=0.25
关联规则的目的是找到隐藏在数据集下面的规则,很显然,支持度越高、置信度越高越有可能是被隐藏起来的强规则
但是只有支持度和置信度还是不够,对于有些规则而言,X和Y的支持度很高、置信度也很高,但X和Y有可能是互斥的(想一想这是为什么?)。这时就需要考虑提升度概念。
提升度(lift)项集X对项集Y提升度
 
13-公式3.png
 

 

如果XY相互独立(即X的发生既没有促进Y的发生,也没有阻碍Y的发生,则提升度为1。如果X促进了Y的发生,则提升度大于1,反之则小于1。
Apriori算法原理
定义 关联规则发现:给定事务的集合T,关联规则发现是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则。其中minsup和minconf是对应的支持度和置信度的阈值(取值基于案例)
关联规则的难点在于计算每种可能规则的支持度和置信度,如果两两匹配所有可能规则所产生的计算量将指数级增加。而如果能排除掉一部分不常见的规则找到规则中的频繁项集,计算量有可能会大幅下降。关联规则算法Apriori、FP树算法等,都是关于如何产生频繁项集的算法。
Apriori一种基于支持度的剪枝技术,用于系统地控制候选项集指数增长。它的剪枝依据如下原理:
先验原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的
推论:如果一个项集是非频繁的,则它的所有超集(可以理解为html中的祖先结点也一定是非频繁的
有啥用简单地说,如果我们发现某个项集是非频繁的,那么所有这个项集的子结点和祖先结点就可以不用算了,这就省下一大笔计算开支,这就是Apriori的思想。
Apriori算法步骤
Ck候选k-项集的集合(啥是候选?就是我们还不知道它是不是频繁先拿来候),Fk频繁k-项集的集合(很显然Fk是从Ck选出来的)Apriori算法产生频繁项集的过程如下:
1、 扫描数据集,确定单个项的支持度,得到频繁1-项集的集合F1
2、 根据发现的频繁1-项集F1,产生候选2-项集C2候选的产生使用apriori-gen方法
3、 计算候选集C2支持度,剪掉支持度小于minsup的候选集(找出频繁项集)
4、 循环
a) 根据上一次迭代发现的频繁(k-1)项集,产生新的候选k-项集
b) 计算候选集Ck   支持度,找出频繁项集
5、 直到没有新的频繁项集产生Fk=,结束
得到所有频繁集以后,就可以根据提升度等指标,找出所有事务中各项集之间的隐藏规则了,比如买尿布的人有可能会买啤酒,并且如果我们把尿布和啤酒放在一起,正向促进啤酒的销量(顾客买东西时拿着更顺手了)

更多大数据相关资讯敬请关注魔据教育,为您分享最及时的大数据资讯。
学习大数据敬请关注魔据教育微信二维码。
魔据教育微信二维码

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至kefu@mojuedu.com,我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

全国咨询热线:18501996998,值班手机:18501996998(7*24小时)

在线咨询:张老师QQ 320169340

企业合作服务专线:010-82340234-821, 院校合作洽谈专线:010-82340234

Copyright 2001-2019 魔据教育 - 北京华育兴业科技有限公司 版权所有,京ICP备17018991号-2

免费在线咨询立即咨询

免费索取技术资料立即索取

大数据技术交流QQ:226594285

电话咨询010-82340234