FPgrowth用python3实现挖掘频繁项集

  • Post author:
  • Post category:python


参考的是以下的博客:


https://blog.csdn.net/Gamer_gyt/article/details/51113753

输入:

    simpDat = [['r', 'z', 'h', 'j', 'p'],
               ['z', 'y', 'x', 'w', 'v', 'u', 't', 's'],
               ['z'],
               ['r', 'x', 'n', 'o', 's'],
               ['y', 'r', 'x', 'z', 'q', 't', 'p'],
               ['y', 'z', 'x', 'e', 'q', 's', 't', 'm']]

过程:

dataSet=simpDat
freqItems=fpGrowth(dataSet,4)  #4代表最小频繁度,即要找出出现4次或4次以上的频繁项集
freqItems

dataSet是输入,可按实际情况整理

输出:

[{
  'x'}, {
  'z'}]  #simDat中出现4次货以上的频繁项集

以下是代码,当成一个FPgrowth的黑盒子:

#FP树中节点的类定义
class treeNode:
    def __init__(self, nameValue, numOccur, parentNode):
        self.name = nameValue
        self.count = numOccur
        self.nodeLink = None #nodeLink 变量用于链接相似的元素项
        self.parent = parentNo



版权声明:本文为zllnau66原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。