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

    关联规则

    时间:2017-08-17 18:08:20作者:[!--zuozhe--]

     

    什么是关联规则
    Association rule learning is a rule-based machine learning method for discovering interesting relations between variables in large databases.
    关联规则学习一种基于机器学习的,用于发现大型数据变量之间有趣关系的方法。
    关联规则是无监督学习,是一种描述性而非预测性的方法,常用于发现数据背后的隐藏规则,经典案例为沃尔玛的啤酒尿布之间的隐藏规则
    相关概念
    假定一?#39029;?#24066;包含 {面包,牛奶,尿布,啤酒,鸡蛋,可乐} 物品,?#31243;?/span>共有五名顾客来购买,每名顾客购买物品如表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同时发生次数,占全部事务的比例,用于确定规则的频?#32972;?#24230;。?#28909;?{面包牛奶} 支持度=3/5=0.6,{面包可乐} 的支持度=1/5=0.2。支持度有啥用?出现次数太少的商品组合别浪费?#35797;春?#26102;间去算了。
    置信度(Confidence)项集Y项集X的置信度
     
    13-公式2.png
     
    即当X发生时,Y发生的比例,用于确定Y包含X事务中出现的频?#32972;?#24230;。?#28909;鐊 面包,牛奶}的置信度=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,关联规则发现是指?#39029;?#25903;持度大于等于minsup并且置信度大于等于minconf的所有规则。其中minsup和minconf是对应的支持度和置信度的阈值(取值基于案例)
    关联规则的?#35757;?#22312;于计算每种可能规则的支持度和置信度,如果两两匹配所有可能规则所产生的计算量将指数?#23545;?#21152;。而如果能排除掉一部分不常见的规则找到规则中的频繁项集,计算量有可能会大幅下降。关联规则算法Apriori、FP树算法等,都是关于如何产生频繁项集的算法。
    Apriori一种基于支持度的剪枝技术,用于系统地控制候选项集指数增长。它的剪枝依据如下原理:
    先验原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的
    推论:如果一个项集是非频繁的,则它的所有超集(可以理解为html中的祖先结点也一定是非频繁的
    有啥用简单地说,如果我们发现某个项集是非频繁的,那么所有这个项集的子结点和祖先结点就可以不用算了,这就省下一大?#22987;?#31639;开支,这就是Apriori的思想。
    Apriori算法步骤
    Ck候选k-项集的集合(啥是候选?就是我们?#20849;?#30693;?#28010;?#26159;不是频繁先拿来候),Fk频繁k-项集的集合(很显然Fk是从Ck选出来的)Apriori算法产生频繁项集的过程如下:
    1、 扫描数据集,确定单个项的支持度,得到频繁1-项集的集合F1
    2、 根据发现的频繁1-项集F1,产生候选2-项集C2候选的产生使用apriori-gen方法
    3、 计算候选集C2支持度,剪掉支持度小于minsup的候选集(?#39029;?#39057;繁项集)
    4、 循环
    a) 根据上一次迭代发现的频繁(k-1)项集,产生新的候选k-项集
    b) 计算候选集Ck   支持度,?#39029;?/span>频繁项集
    5、 直到没有新的频繁项集产生Fk=,结束
    得到所有频繁集以后,就可以根据提升度等指标,?#39029;?#25152;有事务中各项集之间的隐藏规则了,?#28909;?#20080;尿布的人有可能会买啤酒,并且如果我们把尿布和啤酒放在一起,正向促进啤酒的销量(顾客买东西时拿着更顺手了)

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

    【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发?#22987;?#33267;[email protected],我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

    全国咨询热线:18501996998,?#34507;?#25163;机:18501996998(7*24小时)

    在线咨询:张老师QQ 320169340

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

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

    安徽十一选五开奖号码