FP-growth算法

频繁项集发现算法FP-grouth,它基于Apriori构建,但在完成相同任务时采用了一些不同的技术,这里的任务是将数据集存储在一个特定的称作FP树的结构之后发现频繁项集或者频繁项对,即常在一块出现的元素项的集合FP树,这种做法的执行速度要快于Apriori,通常性能要好俩个数量级以上。该方法虽然能够更有效的发现频繁项集,但不能用于发现关联规则。

优点:一般要快于Apriori

缺点:实现比较困难,在某些数据集上性能会下降

适用数据类型:标称型数据

FP-grouth算法将数据存储在一种称为FP树的紧凑数据结构中,FP代表频繁模式,一棵FP树看上去与计算机科学中的其他树结构类似,但是它通过链接(link)来链接相似元素,被连接起来的元素项可以看成一个链表。

FP-grouth算法的工作流程如下。首先构建FP树,然后利用它来挖掘频繁项集,为构建FP树,需要对原始数据集扫描两遍。第一遍对所有元素项的出现次数进行计数。即如果某元素是不频繁的,那么包含该元素的超集也是不频繁的,所以就不需要考虑这些超集。数据库的第一遍扫描用来统计出现的频率,而第二遍扫描中只考虑那些频繁元素。

小结:FP—growth算法是一种用于发现数据集中频繁模式的有效方法。FP-growth算法利用Apriori原则,执行更快。Apriori算法产生候选项集,然后扫描数据集来检查他们是否频繁,由于只对数据集扫描两次,因此FP-growth算法执行更快。在FP-growth算法中,数据集存储在一个称为FP树的结构中。FP树构建完成后,可以通过查找元素项的条件基及构建条件FP树来发现频繁项集。该过程不断以更多元素作为条件重复进行,直到FP树只包含一个元素为止。

可以使用FP-growth算法在多种文本文档中查找频繁单词。

 

posted @ 2018-07-23 21:35  我们都是大好青年  阅读(1251)  评论(0编辑  收藏  举报