FP-growth算法

FP-growth算法是对Apriori算法的优化,减少了数据扫描次数,提高效率。算法主要包括构建FP-tree和通过FP-tree挖掘频繁项集两步。首先,通过扫描数据集构建FP树,接着对FP树进行挖掘,生成频繁项集。FP-growth采用分治策略,通过条件FP树解决以特定后缀结尾的频繁项集问题。
摘要由CSDN通过智能技术生成
                        FP-growth算法

Apriori原理是说如果一个元素项是不频繁的,那么那些包含该元素的超集也是不频繁的。Apriori算法从单元素项集开始,通过组合满足最小支持度要求的项集来形成更大的集合。支持度用来度量一个集合在原始数据中出现的频率。
FP-growth算法基于Apriori构建,但采用了高级的数据结构减少扫描次数,大大加快了算法速度。FP-growth算法只需要对数据库进行两次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁,因此FP-growth算法的速度要比Apriori算法快。
如何产生频繁项集
1 构建FP-tree
2 对FP-tree进行挖掘,产生频繁项集

一:构造FP-tree

FP树时一种输入数据的压缩表示,它通过逐个读入事务,并把事务映射到FP树中的一条路径来构造,由于不同的事务可能会有若干个相同的项,因此它们的路径可能部分重叠。路径相互重叠越多,使用FP树结构获得的压缩效果越好,如果FP树足够小,能够存放在内存中就可以直接从这个内存中的结构提取频繁项集,而不必重复地扫描存放在硬盘上的数据。

构建步骤
(1)扫描一次数据集,确定每个项的支持度计数。丢弃非频繁项,而将频繁项按照支持
度的递减排序。
(2)算法第二次扫描数据集,构建FP树。读入第一个事务后,创建一个根结点用符号null
标记,然后创建路径包含该事务。
(3)依次读取事务。直到每个事务都映射到FP树的一条路径。读入所有的事务后形成FP树。

下图显示了一个数据集,它包含1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值