apriori关联分析matlab实现_第1页
apriori关联分析matlab实现_第2页
apriori关联分析matlab实现_第3页
apriori关联分析matlab实现_第4页
apriori关联分析matlab实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、apriori关联分析matlab实现一、实验目的通过实验,加深数据挖掘中一个重要方法关联分析的认识,其经典算法为apriori算法,了解影响apriori算法性能的因素,掌握基于apriori算法理论的关联分析的原理和方法。二、实验内容对一数据集用apriori算法做关联分析,用matlab实现。三、方法手段关联规则挖掘的一个典型例子是购物篮分析。市场分析员要从大量的数据中发现顾客放入其购物篮中的不同商品之间的关系。如果顾客买牛奶,他也购买面包的可能性有多大?什么商品组或集合顾客多半会在一次购物时同时购买?例如,买牛奶的顾客有80%也同时买面包,或买铁锤的顾客中有70%的人同时也买铁钉,这就

2、是从购物篮数据中提取的关联规则。分析结果可以帮助经理设计不同的商店布局。一种策略是:经常一块购买的商品可以放近一些,以便进一步刺激这些商品一起销售,例如,如果顾客购买计算机又倾向于同时购买财务软件,那么将硬件摆放离软件陈列近一点,可能有助于增加两者的销售。另一种策略是:将硬件和软件放在商店的两端,可能诱发购买这些商品的顾客一路挑选其他商品。关联规则是描述数据库中数据项之间存在的潜在关系的规则,形式为AA.AnBB.B,其中A(i,1,2.,m),A(j,1,2.,n)是数据库中的数据项.12m12nij数据项之间的关联规则即根据一个事务中某些项的出现,可推导出另一些项在同一事务中也出现。四、A

3、priori算法算法描述Apriori算法的第一步是简单统计所有含一个元素的项集出现的频率,来决定最大的一维项目集。在第k步,分两个阶段,首先用一函数sc_candidate(候选),通过第(kT)步中生成的最大项目集来生成侯选项目集Ck。然后搜索数据库计算侯选项目集Ck的支持度.为k-1kk了更快速地计算C中项目的支持度,文中使用函数count_support计算支持度。kApriori算法描述如下:C=candidate1-itemsets;L二cWC|c.count三minsupport;for(k=2,L工,k+)/直到不能再生成最大项目集为止k-1C=sc_candidate(L);

4、/生成含k个元素的侯选项目集kk-1foralltransactionstD/办理处理Ct=count_support(C,t);/包含在事务t中的侯选项目集kforallcandidatescCtc.count=c.count+1;nextL二cWC|c.count三minsupport;kknextresultset二resultsetULk其中,D表示数据库;minsupport表示给定的最小支持度;resultset表示所有最大项目集。Sc_candidate函数该函数的参数为L,即:所有最大k-1维项目集,结果返回含有k个项目的侯选项目集k-1C。事实上,C是k维最大项目集的超集,通

5、过函数count_support计算项目的支持度,然后kk生成Lko该函数是如何完成这些功能的,详细说明如下:首先,通过对Lk自连接操作生成C,,称join(连接)步,该步可表述为:TOC o 1-5 h zk-1kinsertintoCkselectP.item,P.item,.,P.item,Q.itemfromLP,LQ12k-1k-1k-1k-1whereP.item=Q.item,.,P.item=Q.item,P.item:SIIIRT-:由L扫描R甘毎十咲赴计砍加.祐更持度中数小”121ill,13211-151M2tJ.1)2f氐闻g1邸2-gJ冋丿141-*克持坨:汗瞰121

6、2|3:13)3比盘兗:逢选工站应卄抵比栋倏迭文持汝计蛛龙持度订魏I2j13.152空持度订数“+13412.134壮;15213.152A工好空叶救minsup*M)%小于支持度的项为不频繁数,将删除,大于的保留Cp=Li;p=p+1;endendy=C;functiony=gen_rule(C)%apriori算法规则判断是否产生k-候选项集if(isempty(Cl)%判断C是否为空M,N=size(C);m,n=size(C1);temp1=C;L=cell(1);fori=1:Mtemp2i=temp1in;temp1in=;endp=1;fori=1:Mforj=i+1:Mif(i

7、sequal(temp1i,temp1j)%判断前k-1项候选集是否相等Lp=cell_union(Ci,temp2j);%若相等,则增加至k-项集p=p+1;endendendy=L;elsey=cell(1);%否则y返回空end%functiony=Sc_candidate(C)%产生2-项候选集函数C=C;%转置m,n=size(C);bcount=zeros(m*(m-1)/2,1);L=cell(m*(m-1)/2,1);p=1;fori=1:m-1%注意forj=i+1:mLp=cell_union(Ci,Cj);%产生2-项候选集p=p+1;endendy=L;functiony=count_support(L,X,minsup)%找出符合大于支持度sup的候选集,L为候选集,X为总数据集endy=C;endy=C;%统计频繁项m,n=size(L);M,N=size(X);count=zeros(m,1);fori=1:mforj=1:Mif(ismember(Li,Xj)cou

温馨提示

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

评论

0/150

提交评论