matlab实现apriori算法源代码(共6页).doc

上传人:飞****2 文档编号:14015112 上传时间:2022-05-02 格式:DOC 页数:6 大小:291KB
返回 下载 相关 举报
matlab实现apriori算法源代码(共6页).doc_第1页
第1页 / 共6页
matlab实现apriori算法源代码(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《matlab实现apriori算法源代码(共6页).doc》由会员分享,可在线阅读,更多相关《matlab实现apriori算法源代码(共6页).doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

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

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

4、; /生成含k个元素的侯选项目集(5) for all transactions tD /办理处理(6) Ct=count_support(Ck,t); /包含在事务t中的侯选项目集(7) for all candidates cCt(8) c.count=c.count+1;(9) next(10) Lk=cCk|c.countminsupport;(11) next(12) resultset=resultsetLk其中, D表示数据库;minsupport表示给定的最小支持度;resultset表示所有最大项目集。Sc_candidate函数该函数的参数为Lk-1,即: 所有最大k-1维

5、项目集,结果返回含有k个项目的侯选项目集Ck。事实上,Ck是k维最大项目集的超集,通过函数count_support计算项目的支持度,然后生成Lk。该函数是如何完成这些功能的, 详细说明如下: 首先, 通过对Lk-1自连接操作生成Ck,称join(连接)步,该步可表述为:insert into Ckselect P.item1,P.item2,.,P.itemk-1,Q.itemk-1 from Lk-1P,Lk-1Qwhere P.item1=Q.item1,.,P.itemk-2=Q.itemk-2,P.itemk-1minsup*M) %小于支持度的项为不频繁数,将删除,大于的保留 Cp

6、=Li; p=p+1; endendy=C;%function y=gen_rule(C) %apriori算法规则判断是否产生k-候选项集if(isempty(C1) %判断C是否为空 M,N=size(C); m,n=size(C1); temp1=C; L=cell(1); for i=1:M temp2i=temp1in; temp1in=; end p=1; for i=1:M for j=i+1:M if(isequal(temp1i,temp1j) %判断前k-1项候选集是否相等 Lp=cell_union(Ci,temp2j); %若相等,则增加至k-项集 p=p+1; end

7、 end end y=L;else y=cell(1);%否则y返回空end%function y=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;for i=1:m-1 %注意 for j=i+1:m Lp=cell_union(Ci,Cj); %产生2-项候选集 p=p+1; endendy=L;function y=count_support(L,X,minsup)%找出符合大于支持度sup的候选集,L为候选集,X为总数据集X=X;%转置%统计频繁项m,n=size(L);M,N=size(X);count=zeros(m,1);for i=1:m for j=1:M if(ismember(Li,Xj) count(i)=count(i)+1; end endend%删除数据表中不频繁的项p=1;C=cell(1);for i=1:m if(count(i)minsup*M) %小于支持度的项为不频繁数,将删除,大于的保留 Cp=Li; p=p+1; endendy=C;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com