谈改进的apriori关联挖掘算法的实践应用论文

谈改进的apriori关联挖掘算法的实践应用论文

ID:10520176

大小:57.00 KB

页数:4页

时间:2018-07-07

谈改进的apriori关联挖掘算法的实践应用论文_第1页
谈改进的apriori关联挖掘算法的实践应用论文_第2页
谈改进的apriori关联挖掘算法的实践应用论文_第3页
谈改进的apriori关联挖掘算法的实践应用论文_第4页
资源描述:

《谈改进的apriori关联挖掘算法的实践应用论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、谈改进的Apriori关联挖掘算法的实践应用论文.freelinsup输出:D中的频繁项集L算法代码:1)L1一所有频繁项集1-项目集;2)for(k=2;Lk≠φ,k++){3)Ck=apriori_gen(Lk-1,minsupport)4)forallC∈Ctdo{5)Ct=Subset(Ck,T)6)Forallc∈Ctdo7)c.count++;8)}9)Lk={c∈Ck

2、support(c)=minsup}10)}11)returnL={所有的Lk}Apriori算法的第1步找出频繁1-项集的集合L1。在第2~10步中,Lk-1用于产生候选C

3、k,以找出Lk。Apriori过程产生候选,第3步使用Apriori性质删除那些具有非频繁子集的候选,第4步扫描数据库,第5步使用subset函数找出事务中的候选的所有子集,第6步和第7步对每个这样的候选累加计数。最后,所有满足最小支持度的候选会形成频繁项集L。Apriori-gen过程Apriori-gen过程由Lk-1产生第K次迭代时的候选项集Ck,该过程描述如下:ForeachitemsetI1∈Lk-1ForeachitemsetI2∈Lk-1If(I11=I21)∧(I12=I22∧…∧(I1K-2=I2K-2)∧(I1K-1=I2K-2)∧(

4、I1K-I=I2K-1)Then{c=I1,I12,…I1K-I,I2K-1);Ck=CkUc;For(c的每个包含k-1个项目的子集s){If(s不属于Fk-1)从Ck中删除C;}Return(Ck);改进的Apriori算法在图书馆的具体实现以安徽省图书馆某年度读者借阅事务库为例,可从图书馆借阅记录中挖掘出形如“读者-图书”强关联规则。首先要进行数据清洗,只保留属性概念中分层最低层的属性项,将同一个读者的所有借阅记录合并为一条记录。(一)算法思想在读者借阅记录关联规则挖掘过程中有一些特殊的性质,因为每一个读者借阅记录的长度是固定的,即含有五个单项,前

5、四个是属性值,最后一个是图书分类号,并且要挖掘的规则最后一项必须是图书分类号,且不能出现冲突的属性值或图书分类号。基于这些特殊性质,在数据挖掘中对Apriori改进算法如下:1)把压缩过的事务集读入内存;2)扫描事务集,找到每一类频繁单项:即频繁的年龄段、频繁的学历、频繁的职称、频繁的职业、频繁的图书分类。3)把各类频繁的属性单项和频繁的图书分类单项连接成2-候选频繁项集,k=2。即生成年龄-图书类,学历-图书类,职业-图书类,职称-图书类,分别生成频繁2项集。4)检查k-候选频繁项集,记录其支持度和前件的支持度。频繁项集的连接条件是前n项是为读者属性项

6、,且读者的属性项内容各不相同,最后一项为相同的图书分类项。5)输出置信度和支持度达到要求的频繁k-频繁项集。置信度为支持度除以前件的支持度。6)用得到k-频繁项集互相连接得到k+1-候选频繁项集。通过剪枝,可减少连接的频繁项集的个数,提高程序运行的效率。下面的是剪枝连接的规则:a)如果频繁项集A和B最后一项不同的时候不能连接。b)含有属于同一属性类别的不同单项,则不能连接。c)频繁项集也不能和自身连接。d)如果用conf代表前件支持度,那么当min(A.conf,B.conf)/最小支持度最小置信度时,不能连接A,B。e)其它情况可以连接。7)k++,如

7、果生成的候选频繁项集数目不为0,转4),否则结束。本算法主要改进是步骤6,这是经典的Apriori算法没有的。其他的连接过程可以参阅Apriori的连接。本文通过设置最小置信度阈值以找出强关联规则,令图书类型为每条规则后件,读者属性为每条规则前件,最后得到关联规则。(二)程序实现//apriori算法的程序voidApriori::Do(){vectorcandidates;vectorpatterns;generate2candidates(candidates);//生成候选2项集pty())//当候选项集为空时中止{verify_candidate

8、(candidates,patterns);//过滤候选k-1项集,返回用于连接生成候选k项集的列表,同时输出满足所有条件的规则generate_k_candidates(patterns,candidates);//连接生成候选k项集,准备下一次循环patterns.clear();}}生成K项候选频繁集:inlinevoidApriori::generate_k_candidates(constvectorpatterns,vectorcandidates){for(inti=0;ipatterns.size();++i)//遍历过滤后的候选k-1项

9、集,两两连接for(intj=i+1;jpatterns.size();++j)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。