1.与Apriori相比
在挖掘关联规则的过程中,无可避免要处理海量的数据,也就是事务数据库如此之大,如果采用Apriori算法来挖掘,每次生成频繁k-项集的时候,可能都需要扫描事务数据库一遍,这是非常耗时的操作。那么,可以想尽办法来减少扫描事务数据库的次数,来改进挖掘频繁关联规则的效率。
FP-tree是频繁模式树,它是将整个事务数据库压缩到一棵频繁模式树上。而且,在构造整个事务数据库的的FP-tree的过程中,只需要扫描一次事务数据库就能生成。比AproriGen算法生成候选频繁项集要节省很多时间。
2.FP-growth算法主要思想
(1)构造频繁1项集:遍历初始数据集构造频繁1项集,并作为项头表,建立将指向fp-Tree节点对应元素的引用 ;
(2)构造FPTree:再次遍历初始数据集,对于每一条事务中的元素,根据频繁1项集中元素的顺序排序,
由此建立FPTree,记录每条事务的节点在同一条路径上出再的节点次数;
(3)逆序遍历在步骤1中构造的项头表,根据其提供的引用指针,找出fp-Tree中由该节点到根节点的路径,
即生成每个频繁元素的条件模式基 ;
(4)根据每个频繁元素对应的条件模式基,生成其对应的条件fp-Tree,并删除树中节点记数不满足给定的最小支持度的节点 ;
(5)对于每一颗条件fpTree,生成所有的从根节点到叶子节点的路径,由路径中的集合生成其所有非空子集
所有这些非空子集和每一个频繁1项集中的元素共同构成了原始数据集中的频繁集 。
3.参考链接
http://blog.csdn.net/sealyao/article/details/6460578