FP-Growth算法

本文对比Apriori算法,深入解析FP-Growth算法,重点介绍其如何通过构建FP树避免候选集生成,两次扫描优化效率,以及适用于频繁项集挖掘而不支持关联规则发现的特点。

 给定一个包含K个项的事务数据库T,所有可能的候选项有2^{_{K}}-1个,如果将这些项按照层次结构组织,自上而下项集的长度逐层增加1。那么Apriori算法在本质上是按照层次自上而下搜索所有可能的项集,我们可以将其看作为一种“广度优先搜索策略”。如果K比较大,那么产生的候选项个数将非常大,且扫描数据库的次数以及匹配候选项集的操作也会大大增加。

针对Apriori算法的缺点,Frequent-Pattern Growth(FP-Growth)算法给出了一种不需要产生候选项集的频繁项挖掘算法。

 下面为Apriori和FP算法的对比:

FP-growth算法只需要对数据库进行了两次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁,因此FP-growth算法的速度要比Apriori算法快

关于FP-growth算法需要注意的两点是:

  • 该算法采用了与Apriori完全不同的方法来发现频繁项集
  • 该算法虽然能更为高效地发现频繁项集,但不能用于发现关联规则

从FP-growth算法挖掘频繁项集这个流程图中可以看出,FP-growth算法主要有两个步骤:

  • 构建FP树
  • 从FP树中挖掘频繁项集

FP树的表示方法

FP是频繁模式(Frequent Pattern)的缩写。FP-growth算法将数据存储在一种称为FP树的的紧凑数据结构中,并直接从该结构中提取频繁项集。一棵FP树的结构如下图所示,和其他树结构不同之处是FP树通过链接(link)来连接相似

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值