FP-growth算法
Apriori算法可能受到两种非平凡开销的影响:一方面它可能需要产生大量候选项集;另一方面它可能需要重复的扫描整个数据库,通过模式匹配检查一个很大的候选集合。这样检查数据库中每个事务来确定候选项集支持度的开销很大。
那么是否可以设计一种方法,挖掘全部频繁项集而无须这种代价昂贵的候选产生过程?一种试图这样做的方法称为频繁模式增长(Frequent-Pattern Growth,FP-growth)。它采取如下分治策略:首先,将代表频繁项集的数据库压缩到一颗频繁模式树(FP树),该树仍保留项集的关联信息。然后,把这种压缩后的数据库划分成一组条件数据库,每个数据库关联一个频繁项或模式段,并分别挖掘每个条件数据库。对于每个“模式片段”,只需要考察它相关联数据集。因此,随着被考察的模式的“增长”,这种方法可以显著地压缩被搜索的数据集的大小。
FP-growth算法的基本思路:
- 扫描一次事务数据库,找出频繁1-项集合,记为L,并把它们按支持度计数的降序进行排列。
- 基于L,再扫描一次事务数据库,构造表示事务数据库中项集关联的FP树。
- 在FP树上递归地找出所有频繁项集。
- 最后在所有频繁项集中产生强关联规则。
下面先举例介绍一下FP-grow算法挖掘频繁项集的过程:
事务数据库如下表1:
FP-growth算法作为一种高效的数据挖掘方法,避免了Apriori算法的候选产生过程。它通过构建FP树,对频繁项集进行压缩,然后递归挖掘。本文详细介绍了FP-growth的工作原理,包括其基本思路、构建FP树的过程以及如何从FP树中挖掘频繁项集,展示了该算法在降低搜索开销方面的优势。
订阅专栏 解锁全文
2226

被折叠的 条评论
为什么被折叠?



