我使用Christian Borlget的FP-Growth和Apriori包来查找频繁项集和关联规则。根据his paper的说法,fp-growth在所有情况下都比先验的表现更好。
在我的机器上运行FP-Growth,在一个大约36MB(大约500,000行)的csv文件上显示:
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的结果是:
s = time.time()
ap = apriori(tracts, target='r', supp=0.0065, zmin=2, report="C,S")
e = time.time()
print(e - s)
34.50810647010803我在实现上遗漏了什么?
发布于 2019-06-19 03:39:25
不能保证其中任何一个总是比另一个更好。例如,如果没有项目满足最小支持,则先验可以非常快。当你最长的项目集是2个项目集时,一个相当简单的版本就可以了。先验修剪以及fptree只有在你选择(更有趣)的时候才开始闪亮。较长的项集,这可能需要选择较低的支持参数。
https://stackoverflow.com/questions/56651242
复制相似问题