FP-Growth算法python实现

前言:

关于关联分析和FP_Growth的介绍请见:什么是关联分析、FP-Growth算法的介绍。

本文主要介绍用 python 语言实现 FP_Growth 算法的代码。


正文:

FP_Growth项目目录有四个文件:

>FP_Growth
 ▪ __init__.py
 ▪ tree_builder.py
 ▪ tree_building.py
 ▪ tree_miner.py

其中,tree_builder.pytree_building.py 文件主要负责FP-tree的构造,而 tree_miner.py 则是用来从构造好的FP-tree上提取频繁项集。


主程序所在的文件“__init__.py”代码如下:

#coding=utf-8
import tree_builder
import tree_miner

routines = [    
           ['Cola','Egg','Ham'],
           ['Cola','Diaper','Beer'],
           ['Cola','Beer','Diaper','Ham'],
           ['Diaper','Beer']
        ]                                  #事务数据集
min_sup = 2                             #最小支持度计数
headerTable = {}        #头结点表,用来存放各个项的索引

treeBuilder = tree_builder.Tree_builder(routines=routines, min_sup=min_sup, headerTable=headerTable)    #建造FP_Tree
tree_miner.Tree_miner(Tree=treeBuilder.tree, min_sup=min_sup, headerTable=headerTable)         #对FP_Tree进行频繁项集的挖掘

__init__.py 主要实现下面三个动作:

  1. 输入事务数据集 routines 和最小支持度计数 min_sup ;
  2. 调用 Tree_builder 构造 FP-tree,见 FP-Growth算法之 FP-tree 的构造(python);
  3. 调用 Tree_miner 从FP-tree提取频繁项集,见 FP-Growth算法之频繁项集的挖掘(python);



FP-Growth算法python实现(完整代码)。
备注:该代码是在 Python2.7+eclipse 环境下编写的。可在eclipse中导入项目,也可在命令行窗口用python命令执行“__init__.py”文件。


转载请注明出处,谢谢!(原文链接:http://blog.csdn.net/bone_ace/article/details/46746727)

你可能感兴趣的:(python,FP-Tree,FP-Growth)