首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在这个实现中Apriori比FP-Growth运行得更快?

为什么在这个实现中Apriori比FP-Growth运行得更快?
EN

Stack Overflow用户
提问于 2019-06-18 22:18:24
回答 1查看 667关注 0票数 0

我使用Christian Borlget的FP-GrowthApriori包来查找频繁项集和关联规则。根据his paper的说法,fp-growth在所有情况下都比先验的表现更好。

在我的机器上运行FP-Growth,在一个大约36MB(大约500,000行)的csv文件上显示:

代码语言:javascript
复制
from fim import apriori, fpgrowth
s = time.time()
fp = fpgrowth(tracts, target='r', supp=0.0065, zmin=2, report="C,S") # tracts is a list of lists
e = time.time()
print(e - s)

41.10438871383667

而Apriori的结果是:

代码语言:javascript
复制
s = time.time()
ap = apriori(tracts, target='r', supp=0.0065, zmin=2, report="C,S")
e = time.time()
print(e - s)

34.50810647010803

我在实现上遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-19 03:39:25

不能保证其中任何一个总是比另一个更好。例如,如果没有项目满足最小支持,则先验可以非常快。当你最长的项目集是2个项目集时,一个相当简单的版本就可以了。先验修剪以及fptree只有在你选择(更有趣)的时候才开始闪亮。较长的项集,这可能需要选择较低的支持参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56651242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档