基于Hash技术改进Apriori算法
来源:互联网 发布:转让网络视听证 编辑:程序博客网 时间:2024/06/06 08:28
转自http://hi.baidu.com/netganzhou/blog/item/4d8006002edaf9f708fa93a1.html
基于Hash技术改进的Apriori算法,也是采用两阶段挖掘的思想:第一阶段挖掘频繁项集,第二阶段挖掘频繁关联规则。
基于Hash技术来产生频繁项集,能够在一定程度上减少由调用aprioriGen方法生成候选频繁项集的开销。
Park等人研究发现,候选频繁2-项集生成的过程中,计算量比较大,引入散列(Hash)技术来解决这个问题,以改进Apriori算法。
同时,基于Hash技术生成候选频繁2-项集,能够扩展到生成候选频繁k-项集。对频繁关联规则的挖掘,与Apriori算法执行的过程是相同的。
基于Hash技术改进的Apriori算法,也是分为两步执行:
1、从事务数据库(D)中挖掘出所有频繁项集。
支持度大于最小支持度minSup的项集(Itemset)称为频集(Frequent Itemset)。
首先,挖掘频繁1-项集:
需要扫描事务数据库,挖掘出频繁1-项集。
其次,挖掘频繁2-项集:
这里主要是采用Hash技术产生候选频繁2-项集。
在挖掘频繁1-项集的过程中,也就是扫描事务数据库的时候,直接根据选择的Hash策略,将扫描到的事务直接组合成2-项集,并映射到对应的Hash桶中,通过测试Hash桶中的2-项集来产生候选频繁2-项集。具体做法为:设置测试标准参数 minSup * |D|,如果某个Hash桶中的2-项集计数小于 minSup * |D|,肯定不会是频繁2-项集,排除,然后根据Hash桶中的项集的支持计数来选择候选频繁2-项集。
然后,对k(k>2),递推挖掘:
与Apriori算法相同,采用递推的方式在k>2的条件下,来挖掘频繁k-项集(k>2),具体做法是:
在挖掘出候选频繁k-项集(Ck)之后,根据最小置信度minSup来筛选,得到频繁k-项集。
最后合并全部的频繁k-项集(k>0)。
挖掘频繁项集的算法描述如下:
(1) L1 = find_frequent_1-itemsets(D); // 挖掘频繁1-项集,扫描事务数据库同时,将2-项集映射到Hash桶中
(2) C2 = Hash桶中满足支持计数的2-项集; // 生成候选频繁2-项集
(3) L2 = 根据C2支持度生成频繁2-项集; // 生成频繁2-项集
(4) for (k=3;Lk-1 ≠Φ ;k++) {
(5) Ck = apriori_gen(Lk-1 ,min_sup); // 调用apriori_gen方法生成候选频繁k-项集
(6) for each transaction t ∈ D { // 扫描事务数据库D
(7) Ct = subset(Ck,t);
(8) for each candidate c ∈ Ct
(9) c.count++; // 统计候选频繁k-项集的计数
(10) }
(11) Lk ={c ∈ Ck|c.count≥min_sup} // 满足最小支持度的k-项集即为频繁k-项集
(12) }
(13) return L= ∪ k Lk; // 合并频繁k-项集(k>0)
2、基于第1步挖掘到的频繁项集,继续挖掘出全部的频繁关联规则。
与Apriori算法第二步相同。
置信度大于给定最小置信度minConf的关联规则称为频繁关联规则(Frequent Association Rule)。在这一步,首先需要从频繁项集入手,首先挖掘出全部的关联规则(或者称候选关联规则),然后根据minConf来得到频繁关联规则。
挖掘频繁关联规则的算法描述如下:
(1) 初始状态 : L = ∪ k Lk; AR = Φ; // L是频繁项集集合,AR是频繁关联规则集合
(2) for all λk (λk是L的元素,是一个k-频繁项集,大小为n){
(3) for all αk (αk是λk 的非空真子集){
(4) if(αk → βm的置信度>= minConf) { // 这里,m + k = n,其中αk → βm是一个关联规则
(5) AR = AR ∪ (αk → βm);
(6) }
(7) }
(8) }
(9) return AR;
- 基于Hash技术改进Apriori算法
- 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:基于hash的方法
- 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:非hash方法
- 基于python 的Apriori算法
- Apriori算法改进--FP-Tree(FP-Growth)算法
- 基于Apriori算法的关联分析
- 【算法技术】一致性hash算法
- Apriori中的hash tree
- Apriori中的hash tree
- Apriori算法
- Apriori算法
- Apriori算法
- apriori 算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- Apriori算法
- 乔布斯语录
- 解决VC不包含stdint.h头文件问题
- SqlServer2005安装,无法获取ASPNET帐户的系统帐户信息
- Http协议状态代码
- 数据压缩技术简史(转载)
- 基于Hash技术改进Apriori算法
- Mayor's posters poj 2528
- c--宏定义
- 函数模板的声明和模板函数的生成
- Qt信号自定义参数
- 悼念Jobs
- 算术表达式求值:“算符优先级法”、“后缀表达式法”
- 一路走好,乔布斯(Steve Jobs)!
- 关于google code hosting(谷歌项目托管)