当前位置:   article > 正文

数据挖掘:FP-Growth算法 (Python实现)_pyfpgrowth' has no attribute 'find_frequent_itemse

pyfpgrowth' has no attribute 'find_frequent_itemsets

目录

介绍

代码实现与解释

感谢

pyfpgrowth 1.0 版本 漏掉频繁项集分析


介绍

  1. item_sets = [
  2. ['f', 'a', 'c', 'd', 'g', 'i', 'm', 'p'],
  3. ['a', 'b', 'c', 'f', 'l', 'm', 'o'],
  4. ['b', 'f', 'h', 'j', 'o', 'w'],
  5. ['b', 'c', 'k', 's', 'p'],
  6. ['a', 'f', 'c', 'e', 'l', 'p', 'm', 'n']
  7. ]

这篇文章的出现都是这个数据集惹的祸

自己写FP-Growth算法在测试这个数据集的时候(最小支持度计数设置为3)出现了漏掉一些频繁项集的问题,于是就去看了一下pyfpgrowth 1.0 版本 的源码,但是在用的时候(最小支持度计数设置为3)也出现了漏掉频繁项集的问题 所以自己结合  pyfpgrowth 1.0 版本的源码与一篇博客

FP-growth 算法与Python实现_蕉叉熵的博客-CSDN博客_fp-growth自己写了一份代码。本文主要说明代码的实现,以及pyfpgrowth库的一个问题,具体原理请看FP-growth 算法与Python实现_蕉叉熵的博客-CSDN博客_fp-growth

代码实现与解释

  1. import itertools
  2. import time
  3. def get_time(func):
  4. """
  5. 一个装饰器函数用于计算代码运行时间
  6. :param func:
  7. :return:
  8. """
  9. def fun(*args, **kwargs):
  10. start = time.time()
  11. ret = func(*args, **kwargs)
  12. end = time.time()
  13. t = end - start
  14. print('花费时间:', t)
  15. return ret
  16. return fun
  17. class FPNode(object):
  18. """
  19. FP树节点,
  20. 与pyfpgrowth库中基本一致
  21. """
  22. def __init__(self, value, count: int, parent):
  23. self.value = value
  24. self.count = count
  25. self.parent = parent
  26. self.next = None
  27. self.children = []
  28. def has_child(self, value) -> bool:
  29. for child in self.children:
  30. if value == c
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/390526
推荐阅读
相关标签
  

闽ICP备14008679号