一.频繁项集挖掘为什么会出现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. http chunked 理解

    https://imququ.com/post/transfer-encoding-header-in-http.html #! /usr/bin/python #coding:utf8 import ...

  2. bootloader的移植

    jz2440开发板 在介绍bootloader里边的内容的时候,需要知道的是: bootloader的引入的目的就是启动linux内核,一个简单的bootloader编写需要以下的步骤: ①初始化硬件 ...

  3. JS数组添加元素的三种方式

    1.push() 结尾添加 数组.push(元素) 参数 描述 newelement1 必需.要添加到数组的第一个元素. newelement2 可选.要添加到数组的第二个元素. newelement ...

  4. Leetcode 137.只出现一次的数字II

    只出现一次的数字II 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? ...

  5. Linux清除arp缓存

    arp缓存就是IP地址和MAC地址关系缓存列表.在Windows下 arp -d [$ip] 不指定IP地址时清除所有arp缓存.在Linux下 arp -d $ip 必须指定IP地址才能执行这条命令 ...

  6. apple网址

    https://developer.apple.com/downloads/index.action#   开发工具下载

  7. HDU 1754_I Hate It

    [题意]给定区间求最大值 [分析]线段树单点更新 [代码] #include<cstdio> #include<iostream> using namespace std; c ...

  8. JavaWeb图片显示与存储

    在数据库中存储文件的名称,在存储信息资料里面存下照片,利用文件名称. 代码如下: 其中iamgeFile为 图片存储的路径userImages/ Resultuser.setImageName(Pro ...

  9. MySQL主主复制搭建教程收集(待实践)

    先收集,后续再实践. http://www.cnblogs.com/ahaii/p/6307648.html http://blog.csdn.net/jenminzhang/article/deta ...

  10. Redis的集群方案之Sentinel(哨兵模式)(待实践)

    哨兵模式是主从切换的一种方案,但是可以借助此方案实现集群,达到高可用. 先收集教程,待实践. 参考: https://redis.io/topics/sentinel(官方文档) http://ife ...