关联规则( 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》中给出了具体说明。

时间: 2025-01-02 01:37:11

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

关联规则之频繁模式树及其并行计算

Frequent Pattern Tree(频繁模式树)是Jiawei Han在文章<Mining Frequent Patterns without Candidate Generation >中提出的. ---------------------------------------------------- 下面给出一些定义: 设项集(set of items),交易数据库(transaction database),其中交易(transaction),,是 中的元素组成的集合.模式(Pa

【读书笔记-数据挖掘概念与技术】挖掘频繁模式、关联和相关性:基本概念和方法

频繁模式:频繁出现的模式(可以是项集.子序列或子结构) 基本概念 支持度:support 置信度:confidence 关联规则:association 找出所有的频繁项集:出现次数≥最小支持计数 由频繁项集产生强关联的规则(定义最小支持度和最小置信度) 频度(支持度计数):出现的次数 频繁项集:项集I的相对支持度满足预定义的最小支持度阈值 闭频繁项集:不存在真超项集Y使得Y与X在D中具有相同的支持度计数 X是D中的极大频繁项集:X是D中的极大频繁项集或极大项集,如果X是频繁的,并且不存在超项集

【甘道夫】并行化频繁模式挖掘算法FP Growth及其在Mahout下的命令使用

今天调研了并行化频繁模式挖掘算法PFP Growth及其在Mahout下的命令使用,简单记录下试验结果,供以后查阅: 环境:Jdk1.7 + Hadoop2.2.0单机伪集群 +  Mahout0.6(0.8和0.9版本都不包含该算法.Mahout0.6可以和Hadoop2.2.0和平共处有点意外orz) 部分输入数据,输入数据一行代表一个购物篮: 4750,19394,25651,6395,5592 26180,10895,24571,23295,20578,27791,2729,8637 7

推荐系统第4周--- 基于频繁模式的推荐系统和关联规则挖掘Apriori算法

数据挖掘:关联规则挖掘 关联规则挖掘:Apriori算法 提高Apriori的效率 基于散列的算法基于FP tree的算法

FP-Tree频繁模式树算法

参考资料:http://blog.csdn.net/sealyao/article/details/6460578 更多数据挖掘算法:https://github.com/linyiqun/DataMiningAlgorithm 介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模式树算法,他与Apriori算法一样也是用来挖掘频繁项集的,不过不同的是,FP-Tree算法是Apriori算法的优化处理,他解决了Apriori算法在过程中会产生大量的候选集的问题,

高效频繁模式挖掘算法PrePost和FIN的C++源码

PrePost的C++源码见http://www.cis.pku.edu.cn/faculty/system/dengzhihong/Source%20Code/prepost.cpp. 算法内容参见论文:A New Algorithm for Fast Mining Frequent Itemsets Using N-Lists) 论文免费下载地址:http://info.scichina.com:8084/sciFe/EN/abstract/abstract508369.shtml  或ht

频繁模式挖掘apriori算法介绍及Java实现

频繁模式是频繁地出现在数据集中的模式(如项集.子序列或者子结构).例如,频繁地同时出现在交易数据集中的商品(如牛奶和面包)的集合是频繁项集. 一些基本概念 支持度:support(A=>B)=P(A并B) 置信度:confidence(A=>B)=P(B|A) 频繁k项集:如果项集I的支持度满足预定义的最小支持度阈值,则称I为频繁项集,包含k个项的项集称为k项集. 算法思想 Apriori算法是Agrawal和R. Srikant于1994年提出,为布尔关联规则挖掘频繁项集的原创性算法.通过名

FP Tree算法原理总结

在Apriori算法原理总结中,我们对Apriori算法的原理做了总结.作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈.为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,无论多少数据,只需要扫描两次数据集,因此提高了算法运行的效率.下面我们就对FP Tree算法做一个总结. 1. FP Tree数据结构 为了减少I/O次数,FP Tree算法引入了一些数据结构来临时存储数据.这个数据结构包括三部分,如下图所示: 第一部分是一个项

使用行为树(Behavior Tree)实现游戏AI

原地址:http://blog.csdn.net/akara/article/details/6084786 [原创]使用行为树(Behavior Tree)实现游戏AIby AKara 2010-12-09 @ http://blog.csdn.net/akara @ akarachen(at)gmail.com @weibo.com/akaras 谈到游戏AI,很明显智能体拥有的知识条目越多,便显得更智能,但维护庞大数量的知识条目是个噩梦:使用有限状态机(FSM),分层有限状态机(HFSM)