本文主要介绍从FP-tree中提取频繁项集的算法。
更多请见:FP-Growth算法的介绍、FP_Growth算法python实现、FP-Growth算法python实现之 FP-tree的构造。
tree_miner.py代码:#coding=utf-8import tree_builder
import copyclass Tree_miner(object):
"""tree_mi...
分类:
编程语言 时间:
2015-07-04 09:42:12
阅读次数:
257
引言:在关联分析中,频繁项集的挖掘最常用到的就是Apriori算法。Apriori算法是一种先产生候选项集再检验是否频繁的“产生-测试”的方法。这种方法有种弊端:当数据集很大的时候,需要不断扫描数据集造成运行效率很低。
而FP-Growth算法就很好地解决了这个问题。它的思路是把数据集中的事务映射到一棵FP-Tree上面,再根据这棵树找出频繁项集。FP-Tree的构建过程只需要扫描两次数据集。...
分类:
编程语言 时间:
2015-06-28 12:49:56
阅读次数:
287
FP-Tree算法FPTree算法:在不生成候选项的情况下,完成Apriori算法的功能。FP-Tree:就是上面的那棵树,是把事务数据表中的各个事务数据项按照支持度排序后,把每个事务中的数据项按降序依次插入到一棵以NULL为根结点的树中,同时在每个结点处记录该结点出现的支持度。条件模式基:包含FP...
分类:
其他好文 时间:
2015-06-08 23:03:59
阅读次数:
175
apriori算法的计算量太大,如果数据集略大一些,会比较慢,非常容易内存溢出。
我们可以算一下复杂度:假设样本数有N个,样本属性为M个,每个样本属性平均有K个nominal值。
1. 计算一项频繁集的时间复杂度是O(N*M*K)。
2. 假设具有最小支持度的频繁项是q个,根据它们则依次生成一项频繁集,二项频繁集,....,r项频繁集合,它们的元素数量分别是:c(q, 1), c(q...
分类:
编程语言 时间:
2015-05-24 21:55:40
阅读次数:
377
使用FP-growth算法来高效发现频繁项集前言你用过搜索引擎挥发现这样一个功能:输入一个单词或者单词的一部分,搜索引擎酒会自动补全查询词项,用户甚至实现都不知道搜索引擎推荐的东西是否存在,反而会去查找推荐词项,比如在百度输入“为什么”开始查询时,会出现诸如“为什么我有了变身器却不能变身奥特曼”之类滑稽的推荐结果,为了给出这些推荐查询慈祥,搜索引擎公司的研究人员使用了本文要介绍的一个算法...
分类:
编程语言 时间:
2015-05-21 15:39:35
阅读次数:
447
上篇博客讲述了Apriori算法的思想和java实现,http://blog.csdn.net/u010498696/article/details/45641719 Apriori算法是经典的关联规则算法,但是如上篇博客所述,它也有两个致命的性能瓶颈,一个是频繁集自连接产生候选集这一步骤中可能产生大量的候选集;另一个是从候选集得到频繁项集需要重复扫描数据库。
2000年,Han等提出了一个称为...
分类:
编程语言 时间:
2015-05-18 16:48:00
阅读次数:
199
系列文章:《机器学习》学习笔记 最近看了《机器学习实战》中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集)。正如章节标题所示,这两章讲了无监督机器学习方法中的关联分析问题。关联分析可以用于回答"哪些商品经常被同时购买?"之类的问题。书中举了一...
分类:
编程语言 时间:
2015-05-18 00:53:01
阅读次数:
314
FP_growth算法是韩家炜老师在2000年提出的关联分析算法,(FP代表频繁模式)一个典型的应用时输入一个单词或者单词的一部分,搜索引擎就会自动补全查询的词项,通过查看互联网上的用词找出经常在一块出现的词对,这就需要一种高效发现频繁集的方法。它比Aprior算法要快两个数量级以上,能够更高效的发...
分类:
编程语言 时间:
2015-03-16 12:50:19
阅读次数:
372
Efficient Pattern Mining Methods@(Pattern Discovery in Data Mining)
本文介绍了几个模式挖掘的高效算法。主要以Apriori思想为框架,主要讲解了FP-Growth算法。...
分类:
其他好文 时间:
2015-02-16 14:18:07
阅读次数:
255
频繁项集挖掘是一个关联式规则挖掘问题。关联挖掘是数据挖掘中研究最早也是最活跃的领域,其中频繁模式的挖掘是关联挖掘的核心和基础,是产生关联规则挖掘的基础。其中FP-Growth和Apriori算法是最为经典的频繁项集挖掘算法。本文在spark下利用scala编写,充分利用了spark的内存计算方式和scala简洁的语法模式和先天性的并行化特性,充分发挥了FP-Growth。...
分类:
编程语言 时间:
2015-02-01 13:33:53
阅读次数:
310