首页 > 代码库 > Apriori算法
Apriori算法
Apriori算法是一种发现频繁项集的基本算法,算法的思想主要就是使用一种称为逐层搜索的迭代方法,K项集用于探索(K+1)项集。
算法的伪代码如下:(具体实现正在进行中……)
输入:
- D:事务数据库
- min_sup:最小支持度阈值
输出:
- L,D中的频繁项集
方法:
- L1 =find_frequent_1-itemsets(D);
- For(k=2;Lk-1 !=null;k++){
- Ck =apriori_gen(Lk-1 );
- For each 事务t in D{
- Ct =subset(Ck,t);
- For each 候选 c 属于 Ct
- c.count++;
- }
- Lk ={c 属于 Ck | c.count>=min_sup}
- }
- 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]) )
- {
- c = l1 连接 l2 // 连接步:产生候选
- if has_infrequent_subset(c, Lk-1 ) then
- delete c; // 剪枝步:删除非频繁候选
- else add c to Ck;
- }
- Return Ck;
- //使用先验知识
- Procedure has_infrequent_sub (c:candidate k-itemset; Lk-1 :frequent(k-1)-itemsets)
- For each (k-1)-subset s of c
- If s 不属于 Lk-1 then
- Return true;
- Return false;
Apriori算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。