关联规则( 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)的更多相关文章
- 【机器学习】关联规则挖掘(二):频繁模式树FP-growth
Apriori算法的一个主要瓶颈在于,为了获得较长的频繁模式,需要生成大量的候选短频繁模式.FP-Growth算法是针对这个瓶颈提出来的全新的一种算法模式.目前,在数据挖掘领域,Apriori和FP- ...
- 海量数据挖掘MMDS week2: Association Rules关联规则与频繁项集挖掘
http://blog.csdn.net/pipisorry/article/details/48894977 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- 频繁模式挖掘 Apriori算法 FP-tree
啤酒 尿布 组合营销 X=>Y,其中x属于项集I,Y属于项集I,且X.Y的交集等于空集. 2类算法 Apriori算法 不断地构造候选集.筛选候选集来挖掘出频繁项集,需要多次扫描原始数据.磁盘I ...
- 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比
最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...
- 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比(Python实现)
最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...
- apriori && fpgrowth:频繁模式与关联规则挖掘
已迁移到我新博客,阅读体验更佳apriori && fpgrowth:频繁模式与关联规则挖掘 详细代码我放在github上:click me 一.实验说明 1.1 任务描述 1.2 数 ...
- 推荐系统第4周--- 基于频繁模式的推荐系统和关联规则挖掘Apriori算法
数据挖掘:关联规则挖掘
- 【甘道夫】并行化频繁模式挖掘算法FP Growth及其在Mahout下的命令使用
今天调研了并行化频繁模式挖掘算法PFP Growth及其在Mahout下的命令使用,简单记录下试验结果,供以后查阅: 环境:Jdk1.7 + Hadoop2.2.0单机伪集群 + Mahout0.6 ...
- 数据挖掘学习笔记:挖掘频繁模式、关联和相关[ZZ]
所 谓挖掘频繁模式,关联和相关,即指在出现的数据集中找到一个经常出现的序列模式或者是一个经常出现的数据结构.就像搞CPU设计的人知道,Cache的预 取机制有流预取和指针预取,前者就是发现流模式,即发 ...
随机推荐
- 洛谷P4331 [BOI2004] Sequence 数字序列 [左偏树]
题目传送门 数字序列 题目描述 给定一个整数序列 a1,a2,⋅⋅⋅,an ,求出一个递增序列 b1<b2<⋅⋅⋅<bn ,使得序列 ai 和 bi 的各项之差的绝对 ...
- Linux命令之rlogin
rlogin [-8EKLdx] [-e char] [-l username] host rlogin在远程主机host上开始一个终端会话. (1).选项 -8 选项允许进行8位的输入数据传送:否则 ...
- UTF-8 与 BIG-5 转码
BIG-5 轉 UTF-8 若要將一個文字檔從 BIG-5 編碼轉換為 UTF-8 編碼,可以執行: iconv -f BIG-5 -t UTF-8 big5.txt > utf8.txt 其中 ...
- STL的常用用法、函数汇总(不定时更新)
隶书文字为原创. 1.vector 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vec ...
- BZOJ 2527 [Poi2011]Meteors(整体二分)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2527 [题目大意] 有N个成员国.现在它发现了一颗新的星球, 这颗星球的轨道被分为M份 ...
- ElasticSearch安装为Windows服务
目前我都是在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch 这样直接启动的话集 ...
- Web安全测试指南--权限管理
垂直权限提升: 编号 Web_Author_01 用例名称 垂直权限提升测试 用例描述 测试用户是否具有使用超越其角色范围之外的权限. 严重级别 高 前置条件 1. 目标系统拥有不同等级的角色和权限 ...
- 【hibernate】错误:org.hibernate.HibernateException: identifier of an instance of com.agen.entity.Monthdetail was altered from xx to xx
所报错误: org.hibernate.HibernateException: identifier of an instance of com.agen.entity.Monthdetail was ...
- ecshop ecmall shopex
ecshop 是一个B2C商城 适合企业及个人快速构建个性化网上商店.系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序.(如沃购网) 山大路是dedecms ecmall(ECMall ...
- CKFinder的_thumbs缓存文件夹
<CKFinder2.0.2的使用与破解> 作者: 宓晨 说下背景,发下牢骚! 由于网站需要支持对图片的上传以及操作的管理,还有文字+图片的组合上传.问了一下同 ...