欢迎来到天天文库
浏览记录
ID:46391418
大小:73.50 KB
页数:3页
时间:2019-11-23
《Apriori算法的思想及核心伪代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Apriori算法的思想及核心伪代码找出频繁项集:输入:事务数据库D;最小支持度阈值输出:D中的频繁项集L算法流程:(1)L1=find_frequent_1_itemsets(D);(2)For(k=2;Lk-1≠∅;k++){(3)Ck=aproiri_gen(Lk-1,min_sup);//根据频繁(k-1)-项集产生候选k-项集(4)Foreachtransactiont∈D{//扫描数据库,以确定每个候选项集的支持度(5)Ct=subset(Ck,t);//获得t所包含的候选项集(6)Foreachcandidatec∈Ct(7)c.count++;(8
2、)}(9)Lk={c∈Ck⎜c.count≥min_sup}(10)}(11)returnL=∪kLk;Procedureapriori_gen(Lk-1;min_sup)//连接(1~4步)和剪枝(5~7)函数算法(1)foreachitemsetl₁∈Lk-1(2)foreachitemsetl₂∈Lk-1(3)if(l₁[1]=l₂[2]∧...∧(l₁[k-2]=l₂[k-2])∧(l₁[k-1]3、tec;//出去不可能产生频繁项集的候选项集(7)elseaddctoCk;(8)}(9)returnCk;Procedurehas_infrequent_subset(c,Lk-1)//非频繁子集的测试函数算法(1)foreach(k-1)-subsetsofc(2)ifs∉Lk-1then(3)returnTRUE;(4)returnFALSE;由频繁项集生成关联规则:输入:频繁项集(Lk),最小支持度阀值(min_sup)和最小置信度阈值(min_conf).输出:强关联规则。ProcedureGenAssociationRule(Lk,min_conf)B4、egin1)foreachfrequenti_itemsetliofLkdo{ 对于Lk集合中的每一个i_项集li2)ifliisnot1_itemsetthen{ 若li不是1_项集3)SubItems=GenSubItemSet(Lk); 按照项数递增方式生成Lk的所有子集,并入库4)AR_gen=AssociationRule(Lk,min_conf); 产生强关联规则,并入规则库5)Show_AR=ShowAssociationRule(); 显示强关联规则6) }7) }End
3、tec;//出去不可能产生频繁项集的候选项集(7)elseaddctoCk;(8)}(9)returnCk;Procedurehas_infrequent_subset(c,Lk-1)//非频繁子集的测试函数算法(1)foreach(k-1)-subsetsofc(2)ifs∉Lk-1then(3)returnTRUE;(4)returnFALSE;由频繁项集生成关联规则:输入:频繁项集(Lk),最小支持度阀值(min_sup)和最小置信度阈值(min_conf).输出:强关联规则。ProcedureGenAssociationRule(Lk,min_conf)B
4、egin1)foreachfrequenti_itemsetliofLkdo{ 对于Lk集合中的每一个i_项集li2)ifliisnot1_itemsetthen{ 若li不是1_项集3)SubItems=GenSubItemSet(Lk); 按照项数递增方式生成Lk的所有子集,并入库4)AR_gen=AssociationRule(Lk,min_conf); 产生强关联规则,并入规则库5)Show_AR=ShowAssociationRule(); 显示强关联规则6) }7) }End
此文档下载收益归作者所有