一.频繁项集挖掘为什么会出现FP-growth呢?

原因:这得从Apriori算法的原理说起,Apriori会产生大量候选项集(就是连接后产生的),在剪枝时,需要扫描整个数据库(就是给出的数据),通过模式匹配检查候选集合(为的是找到满足最小支持度的项)。候选产生过程带来的就是昂贵的代价开销,所以FP-growth就出现了。

二.FP-growth(Frequent-Pattern Growth) :频繁模式增长

1.数据库(给出的数据)第一次扫描和Apriori一样,找出频繁1项集的集合,统计各个项的支持度计数(出现的次数)。设置最小支持度,需要将集合的各个项按支持度计数由(大->小)排序。假设排序好的集合为L。

2.构造FP树。首先,创建根结点(为NULL)。第二次扫描数据,将每个事务中的项按L的顺序,在FP树上构建分支。这里需要注意的是,在为新事务建分支的时候,沿共同前缀上的每个结点的计数加1,为后缀之后的项创建结点。例如:事务1:建的分支为:1,2,3。事务2:1,2,5。则FP树新分支(为事务2)需要与事务1共用(1,2)前缀,5则新建结点。此时(1,2)的支持度都相应的变为了2。结点3和5依旧是1

3.当FP树完成,数据频繁模式的挖掘就变为了FP树的挖掘。

4.FP数挖掘的核心流程:从L的最小支持度的项(后缀模式)开始---->构造它的条件模式基(由FP树中与该后缀模式一起出现的前缀路径集组成)--->构造这项的条件FP树,之后递归L中的各项------>产生频繁项集(后缀模式和条件FP树产生的频繁模式连接实现)

5.需要注意的问题:

条件模式基:需要注意--->各个项出现的支持度计数(这里会出现多个集合,因为后缀模式可能会有多个分支)要和当前的后缀模式的支持度计数保持一致。

条件FP树:需要注意--->将条件模式基产生的多个集合合并(将相同前缀路径的各个结点的支持度累计加1,这里去掉不符合最小支持度的结点)。

产生频繁模式:将条件FP树产生的各个集合与后缀模式连接。(如果多个集合中出现重复的项,需累加计数再与后缀模式连接)例如:条件FP数产生的集合:(a:4,b:3),(b:3),假设此刻的后缀模式为c 。则产生的频繁项集为:(a:4,c:4),(b:6,c:6),(a:4,b:3,c:3)

  

手推FP-growth (频繁模式增长)算法------挖掘频繁项集的更多相关文章

  1. apriori && fpgrowth:频繁模式与关联规则挖掘

    已迁移到我新博客,阅读体验更佳apriori && fpgrowth:频繁模式与关联规则挖掘 详细代码我放在github上:click me 一.实验说明 1.1 任务描述 1.2 数 ...

  2. 手推Apriori算法------挖掘频繁项集

    版权声明:本文为博主原创文章,未经博主允许不得转载. Apriori算法: 使用一种称为逐层搜索的迭代方法,其中K项集用于搜索(K+1)项集. 首先,通过扫描数据库,统计每个项的计数,并收集满足最小支 ...

  3. 频繁模式挖掘 Apriori算法 FP-tree

    啤酒 尿布 组合营销 X=>Y,其中x属于项集I,Y属于项集I,且X.Y的交集等于空集. 2类算法 Apriori算法 不断地构造候选集.筛选候选集来挖掘出频繁项集,需要多次扫描原始数据.磁盘I ...

  4. FP—Growth算法

    FP_growth算法是韩家炜老师在2000年提出的关联分析算法,该算法和Apriori算法最大的不同有两点: 第一,不产生候选集,第二,只需要两次遍历数据库,大大提高了效率,用31646条测试记录, ...

  5. 数据挖掘学习笔记:挖掘频繁模式、关联和相关[ZZ]

    所 谓挖掘频繁模式,关联和相关,即指在出现的数据集中找到一个经常出现的序列模式或者是一个经常出现的数据结构.就像搞CPU设计的人知道,Cache的预 取机制有流预取和指针预取,前者就是发现流模式,即发 ...

  6. 挖掘频繁项集之FP-Growth算法

    http://blog.csdn.net/pipisorry/article/details/48918007 FP-Growth频繁项集挖掘算法(Frequent-Pattern Growth, 频 ...

  7. 【机器学习】关联规则挖掘(二):频繁模式树FP-growth

    Apriori算法的一个主要瓶颈在于,为了获得较长的频繁模式,需要生成大量的候选短频繁模式.FP-Growth算法是针对这个瓶颈提出来的全新的一种算法模式.目前,在数据挖掘领域,Apriori和FP- ...

  8. 用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-l ...

  9. 关联规则—频繁项集Apriori算法

    频繁模式和对应的关联或相关规则在一定程度上刻画了属性条件与类标号之间的有趣联系,因此将关联规则挖掘用于分类也会产生比较好的效果.关联规则就是在给定训练项集上频繁出现的项集与项集之间的一种紧密的联系.其 ...

随机推荐

  1. Vue如何使用vue-awesome-swiper实现轮播效果

    在Vue项目中如何实现轮播图的效果呢,在传统项目中第一个想到的一般都是swiper插件,代码简单好用.一开始我也是直接npm安装swiper然后照着之前的传统写法写,然而却没有效果,只会显示图片但没有 ...

  2. 关于SELECT 逻辑的执行顺序问题

    不会有大多数人都和我一样的认为,是先进行的Where 剔除结果集,再进行Join的吧 SQL server 2014 逻辑执行标准: https://msdn.microsoft.com/en-us/ ...

  3. ORACLE RAC with NFS install

    第一步:建立第一台节点机1).拷贝一台虚拟机做第一个节点,增加host-only的网卡 kudzu工具识别网卡(两都host-only是可以的).然后以下步骤修改相应的配置.etc/hosts内容如下 ...

  4. Linux下汇编语言学习笔记23 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  5. Layui栅格系统与后台框架布局

    一.栅格布局规则: 1. 采用 layui-row 来定义行,如:<div class="layui-row"></div> 2. 采用类似 layui-c ...

  6. 搬砖--杭电校赛(dfs)

    搬砖 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...

  7. Connection节点配置错误解决方案

    问题:配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件.分析器错误信息: 无法识别的配置节“connectionStrings”源错误:行 ...

  8. java代码判断文件类型(判断文件后缀名)

    1.两点需要注意 1.string.spilt("\\.")分割字符串成子字符串数组,以“.”分割,必须写成string.spilt("\\.")的方式,不能写 ...

  9. 【Nginx】负载均衡-IP哈希策略剖析

    转自:江南烟雨 IP哈希初始化 IP哈希的初始化函数ngx_http_upstream_init_ip_hash(ngx_http_upstream_ip_hash_module.c): static ...

  10. DELL T110II Server如何通过RAID 级别迁移的方式在OMSA下实现磁盘阵列扩容?

    目录: RAID 转移规则说明 操作步骤 本文介绍了 通过RAID 级别转换来实现扩容的方法注意:本文相关RAID的操作,仅供在测试环境里学习和理解戴尔PowerEdge服务器RAID控制卡的功能和使 ...