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

Posted yfceshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联规则( Association Rules)之频繁模式树(FP-Tree)相关的知识,希望对你有一定的参考价值。

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

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

以下给出一些定义:

设项集(set of items)技术分享,交易数据库(transaction database)技术分享。当中交易(transaction)技术分享技术分享,是技术分享中的元素组成的集合。模式(Pattern)A是技术分享中的元素组成的集合。模式A的支持度(support)是指交易数据库中包括A的交易的数量。

技术分享是最小支持度阈值,假设。模式A的支持度大于技术分享,那么称A为频繁模式(Frequent Pattern)。

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

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

样例:

设项集技术分享,交易数据库例如以下表:

技术分享

最小支持度阈值技术分享

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

第一次:扫描数据库。对当中的每个项进行计数,得到一个list of frequent items(频繁项的列表) 。比如,项技术分享出现了4次,依次类推我们对当中的每一项进行计数,由于最小支持度阈值为3,,我们以下仅仅给出出现次数大于3的项:

技术分享


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

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

技术分享

技术分享

技术分享


技术分享

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

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

当中,我们拿和项技术分享有关的频繁模式举例,其它依次类推:

首先。我们找到全部技术分享的节点,并沿着树枝路径向上直到根节点(root),我们发现有两条路径:

技术分享技术分享

然后。我们能够得出出现的3次技术分享技术分享同一时候出现了3次,是同一时候和技术分享出现次数最多的项,并且次数大于最小支持度阈值。所以技术分享就是一个频繁模式,依次类推得出其它项的频繁模式:

技术分享

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

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

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

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

以上是关于关联规则( Association Rules)之频繁模式树(FP-Tree)的主要内容,如果未能解决你的问题,请参考以下文章

关联规则(Association Rules)笔记

论文笔记:Integrating Classification and Association Rule Mining (即,CBA算法介绍)

R - 关联规则 - 先验

webpack之rules规则

Mybatis 示例之 Association

规则引擎之easy-rules入门