我正在使用Christian Borlget的FP-Growth和Apriori软件包来查找频繁的项目集和关联规则。根据{{3}},在所有情况下,fp-growth的性能均优于先验。
在〜36MB(〜500,000行)csv文件上运行我的计算机上的FP-Growth显示:
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
我在实施过程中缺少什么?
答案 0 :(得分:1)
不能保证任何一个总是比另一个更好。 例如,如果没有项目满足最低支持要求,则Apriori可能会非常快。当最长的项目集是2个项目集时,一个比较幼稚的版本就可以了。仅当您选择(更有趣的!)较长的项目集时,Apriori修剪和fptree才会开始发光,这可能需要选择一个较低的支持参数。