A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

zhuyuanqing

注册黑马

  • 黑马币:

  • 帖子:

  • 精华:

算法:Apriori

输入:D - 事务数据库;min_sup - 最小支持度计数阈值

输出:L - D中的频繁项集

方法:

     L1=find_frequent_1-itemsets(D); // 找出所有频繁1项集

     For(k=2;Lk-1!=null;k++){

        Ck=apriori_gen(Lk-1); // 产生候选,并剪枝

        For each 事务t in D{ // 扫描D进行候选计数

            Ct =subset(Ck,t); // 得到t的子集

            For each 候选c 属于 Ct

                         c.count++;

        }

        Lk={c属于Ck | c.count>=min_sup}

}

Return L=所有的频繁集;



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_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;

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 鼓励一下!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马