Apriori算法例子_第1页
Apriori算法例子_第2页
Apriori算法例子_第3页
Apriori算法例子_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Apriori算法例子1Apriori介绍Apriori算法使用频繁项集的先验知识,使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描事务(交易)记录,找出所有的频繁1项集,该集合记做Li,然后利用Li找频繁2项集的集合L2,L2找L3,如此下去,直到不能再找到任何频繁k项集。最后再在所有的频繁集中找出强规则,即产生用户感兴趣的关联规则。其中,Apriori算法具有这样一条性质:任一频繁项集的所有非空子集也必须是频繁的。因为假如P(I)<最小支持度阈值,当有元素A添加到I中时,结果项集(AAI)不可能比I出现次数更多。因此AAI也不是频繁的。2连接步和剪枝步在上

2、述的关联规则挖掘过程的两个步骤中,第一步往往是总体性能的瓶颈。Apriori算法采用连接步和剪枝步两种方式来找出所有的频繁项集。1)连接步为找出Lk(所有的频繁k项集的集合),通过将Lk-1(所有的频繁k-1项集的集合)与自身连接产生候选k项集的集合。候选集合记作Q。设l1和12是Lk-1中的成员。记lij表示li中的第j项。假设Apriori算法对事务或项集中的项按字典次序排序,即对于(k-1)项集li,li1<li2<.<lik-1。将Lk-1与自身连接,如果(l11=l21)&&(l12=l22)&&.&&(l1k-2=l

3、2k-2)&&(l1k-1<l2k-1),那认为11和l2是可连接。连接11和l2产生的结果是l11,l12,l1k-1,l2k-1。2)剪枝步a是Lk的超集,也就是说,a的成员可能是也可能不是频繁的。通过扫描所有的事务(交易),确定Ck中每个候选的计数,判断是否小于最小支持度计数,如果不是,则认为该候选是频繁的。为了压缩Ck,可以利用Apriori性质:任一频繁项集的所有非空子集也必须是频繁的,反之,如果某个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从Ck中删除。(Tip:为什么要压缩&呢?因为实际情况下事务记录往往是保存在外存储上,比如数

4、据库或者其他格式的文件上,在每次计算候选计数时都需要将候选与所有事务进行比对,众所周知,访问外存的效率往往都比较低,因此Apriori加入了所谓的剪枝步,事先对候选集进行过滤,以减少访问外存的次数。)3 Apriori算法实例交易ID商品ID列表T100I1,I2,I5T200I2,I4T300I2,I3T400I1,I2,I4T500I1,I3T600I2,I3T700I1,I3T800I1,I2,I3,I5T900I1,I2,I3上图为某商场的交易记录,共有9个事务,利用Apriori算法寻找所有的频繁项集的过程如下:L1131Ml有的交号记录_.理集支牌度讣莪阿&T(13;6网2

5、吟士比敢依羞支期SSHfc-石拿小支忤度慢潭理案支杵度计敲11£3317(B)6(B4)2明?由L1产生候gf由LZ产生镶詹CJ-;口.喟QL用蝴<UK>但阿f瑞党也即唠夙*QL2居MW旧酬有的文品记录.对等中3计散哽集支杵度计数L2。皿4I(11,134厦集变博度才翻:11,1411334ILK2斯叫;4uxnj4g23吩2支杵度计数f与敢小支"度性术m明2也闪442011410吩1口4吩01旧修胴育的对/1横逸计被支南5计减立叫2阿的2L3支忤懂计救*与嵯小支持度慢窣详细介绍下候选3项集的集合C3的产生过程:从连接步,首先C3=I1,I2,I3I1,I2,I

6、5,I1,I3,I5,I2,I3,I4,I2,I3,I5,I2,I4,I5(C3是由L2与自身连接产生)。根据Apriori性质,频繁项集的所有子集也必须频繁的,可以确定有4个候选集I1,I3,I5,I2,I3,I4,I2,I3,I5,I2,I4,I5不可能时频繁的,因为它们存在子集不属于频繁集,因此将它们从C3中删除。注意,由于Apriori算法使用逐层搜索技术,给定候选k项集后,只需检查它们的(k-1)个子集是否频繁。3.Apriori伪代码算法:输入:AprioriD-事务数据库;min_sup-最小支持度计数阈值输出:L-D中的频繁项集找出所有频繁1项集并剪枝方法:Li=find_fr

7、equent_1-itemsets(D);/For(k=2;Lk-1!=null;k+)Ck=apriori_gen(Lk-1);产生候选,Foreach事务tinD/扫描D进行候选计数Ct=subset(Ck,t);/得到t的子集Foreach候选c属于Ctc.count+;)Lk=c属于Ck|c.count>=min_sup)ReturnL=所有的频繁集;Procedureapriori_gen(Lk-1:frequent(k-1)-itemsets)Foreach项集11属于Lk-1Foreach项集l2属于Lk-1If(l11=l21)&&(l12=l22)&am

8、p;&&&(l1k-2=l2k-2)&&(l1k-1<l2k-1)thenc=l1连接l2/连接步:产生候选ifhas_infrequent_subset(c,Lk-1)thendeletec;/剪枝步:删除非频繁候选elseaddctoCk;ReturnCk;Procedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets)Foreach(k-1)-subsetsofcIfs不属于Lk-1thenReturntrue;Returnfalse;4 .由频繁项集产

9、生关联规则Confidence(A->B)=P(B|A)=support_count(AB)/support_count(A)关联规则产生步骤如下:1)对于每个频繁项集l,产生其所有非空真子集;2)对于每个非空真子集s,如果support_count(l)/support_count(s)>=min_conf则输出s->(l-s),其中,min_conf是最小置信度阈值。例如,在上述例子中,针对频繁集I1,I2,I5。可以产生哪些关联规则?该频繁集的非空真子集有I1,I2,I1,I5,I2,I5,I1,I2和I5,对应置信度如下:I1&&I2->I5confidence=2/4=50%I1&&I5->I2confidence=2/2=100%I2&&I5->I1confidence=2/2=100%I1->I2&&I5confidence=2/6=33%I2->I1&&am

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论