1 FP-Growth算法背景
常见的关联规则算法分为两类,一:Apriori算法,二:FPGrowth。
Apriori:不断扫描数据库、构造候选集、筛选候选集,挖掘出频繁项集,,缺点:当数据量较大时,运行速度较慢。
FPGrowth算法优势:只需扫描两遍数据,通过FP-tree数据结构压缩原始数据,效率较高。FPGrowth算法主要分为两个步骤:FP-tree构建、递归挖掘FP-tree。
FP-tree构建通过两次数据扫描,将原始数据中的事务压缩到一个FP-tree树,该FP-tree类似于前缀树,相同前缀的路径可以共用,从而达到压缩数据的目的。接着通过FP-tree找出每个item的条件模式基、条件FP-tree,递归的挖掘条件FP-tree得到所有的频繁项集。算法的主要计算瓶颈在FP-tree的递归挖掘上
2 FP-Growth算法原理
假设事物数据集为
item1 | A | B | C | D |
item2 | B | C | D | |
item3 | C | D | ||
item4 | B | F | G | H |
item5 | A | C | D |