一、前言
上次提到可以用Apriori算法来提取频繁项集,但是Apriori算法有个致命的缺点,那就是它对每个潜在的频繁项集都需要扫描数据集判定其是否频繁,因而在时间消耗上是巨大的。据说在实际应用上一般都不用Apriori算法。
FP算法的核心就是将数据集存储在一个特定的称作FP树的结构当中。构建完FP树之后,就可以递归地在FP树上挖掘频繁项集。FP-growth算法只需要对数据集进行两次扫描(第一次扫描在建树时,第二次扫描在哪里?惭愧,真看不出在哪里。),且利用到了类似Trie树这种节省“空间”的结构,运行起来比Apriori算法快了不少,但fp-growth算法只能用来进行发现频繁集,不能挖掘关联规则。
fp-growth算法主要由两步:
1、构建fp树
2、利用fp树发现频繁集