ApacheCN 机器学习实战讲义 十二、使用FP-growth算法来高效发现频繁项集

前言
在 第11章 时我们已经介绍了用 Apriori
算法发现 频繁项集
与 关联规则
。
本章将继续关注发现 频繁项集
这一任务,并使用 FP-growth
算法更有效的挖掘 频繁项集
。
FP-growth 算法简介
一种非常好的发现频繁项集算法。
基于Apriori算法构建,但是数据结构不同,使用叫做
FP树
的数据结构结构来存储集合。下面我们会介绍这种数据结构。
FP-growth 算法步骤
基于数据构建FP树
从FP树种挖掘频繁项集
FP树 介绍
FP树的节点结构如下:
class treeNode:
def __init__(self, nameValue, numOccur, parentNode):
self.name = nameValue # 节点名称
self.count = numOccur # 节点出现次数
self.nodeLink = None # 不同项集的相同项通过nodeLink连接在一起
# needs to be updated
self.parent = parentNode # 指向父节点
self.children = {} # 存储叶子节点
阅读全文:http://ml.apachecn.org/mlia/fp-growth/