Frequent Pattern Tree(频繁模式树)是Jiawei Han在2004年的文章《Mining Frequent Patterns without Candidate Generation 》中提出的。

————————————————————————————————————————————————————

以下给出一些定义:

设项集(set of items)关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP,交易数据库(transaction database)关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP。当中交易(transaction)关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP,是关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP中的元素组成的集合。模式(Pattern)A是关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP中的元素组成的集合。模式A的支持度(support)是指交易数据库中包括A的交易的数量。

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP是最小支持度阈值,假设。模式A的支持度大于关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP,那么称A为频繁模式(Frequent Pattern)。

频繁模式树就是要找到交易数据库中的频繁模式。

————————————————————————————————————————————————————

样例:

设项集关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP,交易数据库例如以下表:

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

最小支持度阈值关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

构造频繁模式树仅仅须要扫描(scan)交易数据库次。

第一次:扫描数据库。对当中的每个项进行计数,得到一个list of frequent items(频繁项的列表) 。比如,项关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP出现了4次,依次类推我们对当中的每一项进行计数,由于最小支持度阈值为3,,我们以下仅仅给出出现次数大于3的项:

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

第二次:扫描数据库的每一交易,得到每个交易的排序频繁项(Ordered Frequent Items)构造频繁模式树(构造过程非常easy,原论文给出了具体的阐述):

我们对每个交易,仅仅保留大于3的项。并排序。然后我们得出下表。多出了一列就是排序频繁项(Ordered Frequent Items)

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

—————————————————————————————————————————————————————

依据上面的两步,我们已经构造出了频繁模式树,怎么样通过频繁模式树,找到频繁模式。

当中,我们拿和项关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP有关的频繁模式举例,其它依次类推:

首先。我们找到全部关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP的节点,并沿着树枝路径向上直到根节点(root),我们发现有两条路径:

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

然后。我们能够得出出现的3次关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP同一时候出现了3次,是同一时候和关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP出现次数最多的项,并且次数大于最小支持度阈值。所以关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP就是一个频繁模式,依次类推得出其它项的频繁模式:

关联规则( Association Rules)之频繁模式树(FP-Tree)-LMLPHP

所以,通过频繁模式树找到了非常多频繁模式。

—————————————————————————————————————————————————————

对于频繁模式树的并行计算(MapReduce),文章

《Parallel FP-Growth for Query Recommendation》中给出了具体说明。

05-14 20:24