数据挖掘(一)——Apriori关联规则算法及评估

数据挖掘(一)——Apriori关联规则算法及评估

1、Apriori算法概述

  大家不要害怕,在《数据挖掘概念与技术》一书中,Apriori算法是作为第一个数据挖掘算法来讲的,没有大公式,而且很容易理解, 直接上算法的手推图:


  图片左上角是原数据,图片下半部分是步骤。

  首先查找频繁一项集,项集就是项的集合(项,如:面包、牛奶等等),频繁项集可以理解为出现频度高或出现次数多的项集,如频繁{ 面 包 , 牛 奶 面包,牛奶 ,}表示买面包就很可能买牛奶或买牛奶就很可能买面包。怎么查找频繁一项集呢?先把所有的一项集列出来,{ 面 包 面包 }{ 牛 奶 牛奶 }{ 啤 酒 啤酒 }{ 尿 布 尿布 尿},然后统计每个一项集的支持度计数,比如对于{ 面 包 面包 },小明、小红、小赵三个人买了,那{ 面 包 面包 }的支持度计数就是3,以此类推。然后我们设定支持度阈值为2,也就是说买面包的人少于两个我们就懒得考虑这一项了,因为买面包的人很少那挖掘它的意义也不大,据此找到支持度计数大于等于2的项集,作为频繁一项集。如图中1、2步。

  第二步是由频繁一项集产生二项集再选出频繁二项集(这里我们先不考虑先验性质),直接将频繁一项集按照不重复的原则组合成二项集,可以理解为排列组合,四个里面挑两个, C 4 2 = 6 C^2_4=6 C42=6,一共有6个二项集{ 面 包 , 牛 奶 面包,牛奶 ,}{ 面 包 , 啤 酒 面包,啤酒 ,}{ 面 包 , 尿 布 面包,尿布 ,尿}{ 牛 奶 , 啤 酒 牛奶,啤酒 ,}{ 牛 奶 , 尿 布 牛奶,尿布 ,尿}{ 啤 酒 , 尿 布 啤酒,尿布 ,尿}。然后计算每个二项集的支持度计数,比如{ 面 包 , 牛 奶 面包,牛奶 ,},同时买面包牛奶的是小红、小赵两人,所以的支持度计数是2,以此类推。之后再将支持度计数和阈值比较,选出频繁二项集{ 面 包 , 牛 奶 面包,牛奶 ,}{ 啤 酒 , 尿 布 啤酒,尿布 ,尿}。如图中3、4步。

  第三步是构造三项集并选出频繁三项集,直接将频繁一项集和频繁二项集进行组合(后续构造n项集也是频繁n-1项集与频繁一项集组合),仍按照不重复原则,构造出三项集,然后计算支持度计数,并与阈值比较得到频繁三项集。这里我们发现所有三项集都不满足支持度阈值的要求,所以算法结束,给出结果,最终频繁项集为{ 面 包 , 牛 奶 面包,牛奶 ,}{ 啤 酒 , 尿 布 啤酒,尿布 ,尿}。如图中第5步。

  没错,你就是呼唤胜利的男神!通过上述分析,你已经基本掌握了Apriori算法!

  那我们再来说一下先验性质是什么东西,有助于我们进一步学习Apriori算法。

  先验性质:频繁项集的所有非空子集也一定是频繁的。简单讲,{ 面 包 , 牛 奶 , 啤 酒 面包,牛奶,啤酒 ,,}是频繁三项集,则{ 面 包 , 牛 奶 面包,牛奶 ,}{ 面 包 , 啤 酒 面包,啤酒 ,</

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值