Я использую пакеты FP-Growth и Apriori Кристиана Борлже, чтобы находить часто встречающиеся наборы предметов и правила ассоциации.Согласно его статье , fp-growth работает лучше, чем apriori во всех случаях.
Запуск FP-Growth на моей машине в CSV-файле размером ~ 36 МБ (~ 500 000 строк) показывает:
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
Чего мне не хватает в реализации?