数据挖掘十大经典算法之apriori算法&源代码

Apriori算法是数据挖掘中用于挖掘频繁项集的典型算法,基于两阶段频集思想。本文介绍了Apriori的基本原理,包括其两个核心性质,并详细展示了算法的处理流程。此外,还提供了C语言实现的源代码示例。
摘要由CSDN通过智能技术生成

数据挖掘十大经典算法
国际权威的学术组织the IEEE International Conference on Data Mining
(ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means,
SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都
可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。

 

4. The Apriori algorithm
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于
两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规
则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。

 

 VC 界面的源代码见  http://download.csdn.net/source/2963738

 

Agrawal等人提出的Apriori是经典的关联规则和频繁项集挖掘算法,围绕着它的改进和实现有大量的文献。该算法是挖掘产生布尔关联规则频繁项目集的经典算法,从其产生到现在对关联规则挖掘方面的研究有着很大的影响。

为了提高频繁项目的挖掘效率,Apriori算法利用了两个重要的性质,用于压缩搜索的空间。

1】若X为频繁项目集,则X的所有子集都是频繁项目集。

2】若X为非频繁项目集,则X的所有超集均为非频繁项目集。

Apriori算法的处理流程为:宽度优先搜索整个项集空间,从k=0开始,迭代产生长度为k+1的候选项集的集合Ck+1。候选项集是其所有子集都是频繁项集的项集。C1I0中所有的项构成,在第k层产生所有长度为k+1的项集。这由两步完成:第一步,Fk自连接。将Fk中具有相同(k-1)-前缀的项集连接成长度为k的候选项集。第二步是剪枝,如果项集的所有长度为k的子集都在Fk中,该项集才能作为候选项集被加入Ck+1中。为了计算所有长度为k的候选项集的支持度,在数据库水平表示方式下,需要扫描数据库一遍。在每次扫描中,对数据库中的每条交易记录,为其中所包含的所有候选k-项集的支持度计数加1。所有频繁的k-项集被加入Fk中。此过程直至Ck+1等于空集时结束。

算法  Apriori

Input:          Transaction DataBase DMinimum support threshold minsup

Output      Frequent pattern L

(1) L1=search_frequent_1-itemsets( D );

(2) for(k=2;Lk-1φ;k++) do

(3) begin

(4)    Ck=apriori-gen(Lk-1);

(5)    for all transactions t D do

(6)    begin

(7)      Ct=subset(Ckt);

(8)      for all candidates c Ct do

(9)        c.count++;

(10)    end

(11)    Lk ={c

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值