本文主要是介绍理解机器学习实战 --- FP-Growth算法高效发现频繁项集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
FP-growth算法介绍:
-
一种非常好的发现频繁项集的算法
-
基于Apriori算法构建,但是数据结构不同,使用叫做FP树的数据结构来存储集合。
FP-grouw算法原理:
基于数据集构造FP树
-
支持度:某一项类别出现的次数,可以理解为出现的频率。
-
非频繁项:某一项出现的次数小于一定次数,我们称之为非频繁项集。
步骤一:
1.遍历所有的数据集合,计算所有项的支持度。
2.丢弃非频繁项。
3.基于支持度降序排序所有的项。
4.所有的数据集合按照3得到的顺序重新整理
5.重新整理后,丢弃每个集合末尾非频现的项
步骤二:
6.读取每个集合插入FP树中,同时用一个头部链表数据结构维护相同的项,对于不同的项做一个索引。
步骤三:
条件模式基:头部链表中的某一点的前缀路径组合就是条件模式基,条件模式基的值取决于末尾节点的值。
1.对头部链表进行降序排序
2.对头部链表进行从小到遍历,得到条件模式基,同时获得一个频繁项集。
条件FP树:以条件模式基作为数据集构造的FP树叫做条件FP树。
3.条件模式基继续构造条件FP树,得到的频繁项集,和之前的频繁项组合起来,这是一个递归遍历头部链表生成FP树的过程,递归截止条件是生成的FP树的头部链表为空。
FP-growth算法优缺点&#
这篇关于理解机器学习实战 --- FP-Growth算法高效发现频繁项集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!