为什么在此实施中Apriori的运行速度比FP-Growth快?

时间:2019-06-18 14:18:23

标签: python-3.x data-mining apriori fpgrowth

我正在使用Christian Borlget的FP-GrowthApriori软件包来查找频繁的项目集和关联规则。根据{{​​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

我在实施过程中缺少什么?

1 个答案:

答案 0 :(得分:1)

不能保证任何一个总是比另一个更好。 例如,如果没有项目满足最低支持要求,则Apriori可能会非常快。当最长的项目集是2个项目集时,一个比较幼稚的版本就可以了。仅当您选择(更有趣的!)较长的项目集时,Apriori修剪和fptree才会开始发光,这可能需要选择一个较低的支持参数。