算法:Apriori。使用逐层迭代方法基于候选产生找出频繁项集。 输入: D:实物数据库; Min_sup:最小支持度计数阈值。 输出:L:D中的频繁项集。 方法: L1=find_frequent_1-itemsets(D); for(k=2;Lk-1 !=¢;k++){ Ck=apriori_gen(Lk-1); For each 事务 t∈D{//扫描D用于计数 Ct=subset(Ck,t);//得到t的子集,它们是候选 for each候选c∈C; C.count++; } Lk={c∈C|c.count=min_stp} } return L=UkLk; Procedure apriori_gen(Lk-1:frequent(k-1)-itemsets) for each项集l1∈Lk-1 for each项集l2∈Lk-1 If (l1[1]=l2[1]) ^ (l1[2]=l2[2]) ^… (l1[k-2]=l2[k-2]) ^ (l1[k-1]=l2[k-1]) then{ c=l1∞l2//连接步:产生候选 if has_infrequent_subset(c,Lk-1)then delete c;//剪枝部;删除非频繁的候选 else add c to Ck; } return Ck; procedure has_infrequent_subset
原创力文档

文档评论(0)