摘要:

  1.算法概述

  2.算法推导

  3.算法特性及优缺点

  4.注意事项

  5.实现和具体例子

  6.适用场合

内容:

1.算法概述

  关联规则(associatio rules):从大规模数据集中寻找物品建隐含关系被称作关联分析或关联规则学习

  频繁项集(frequent itemsets):经常出现在一起的物品集合

  FPgrowth是一个流行的频繁项集挖掘的算法(韩家炜等人在2000年);在算法中使用了一种称为频繁模式树(Frequent Pattern Tree)的数据结构(见算法推导)。

2.算法推导

2.1 几个基本概念

  支持度(support):支持度表示项集{X,Y}在总项集里出现的概率。 Support(X→Y) = P(X,Y) / P(I) = num(XUY) / num(I),其中I为总项集;

  可信度或置信度(confidence):置信度表示在先决条件X发生的情况下,由关联规则”X→Y“推出Y的概率;Confidence(X→Y) = P(Y|X) = num(XUY) / num(X)

  提升度(Lift): Lift(X→Y) = P(Y|X) / P(Y)

  强关联规则:满足最小支持度和最小置信度的规则

  如果Lift(X→Y)>1,则规则“X→Y”是有效的强关联规则。

如果Lift(X→Y) <=1,则规则“X→Y”是无效的强关联规则。

特别地,如果Lift(X→Y) =1,则表示X与Y相互独立。(参考自

2.2 几个基本原理

  Aprori 原理:如果某条规则并不满足最小可信度,则该规则的所有子集也不满足最小可信度  

3.算法特性及优缺点

  优点:一般快于Apriori算法(只扫描两次数据集)

  缺点:实现比较困难,在某些数据集上性能下降

4.注意事项

  连续数据要进行离散化

5.实现和具体例子

  《机器学习实战》中的实现以及发现国会投票中的模式案例

  Spark mllib实现(run方法);使用AssociationRules挖掘关联规则

  应用:

    交叉销售:电信行业针对用户已经使用的产品和业务,向其推荐他没有使用的

6.适用场合

  支持大规模数据:是

  特征维度:无

  是否有 Online 算法:这个没必要吧?

  特征处理:支持类别型数据或者离散型数据,连续数据要进行离散化

FPGrowth算法总结复习的更多相关文章

  1. 使用 FP-growth 算法高效挖掘海量数据中的频繁项集

    前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本 ...

  2. FP-Growth算法及演示程序

    FP-Growth算法 FP-Growth(频繁模式增长)算法是韩家炜老师在2000年提出的关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-Tree),但仍保留项集 ...

  3. 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...

  4. 数据挖掘系列(2)--关联规则FpGrowth算法

    上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的集合,效率提高不少,但是我们发现Apriori算法是一个候选消除算法,每一次消除 ...

  5. 使用Apriori算法和FP-growth算法进行关联分析

    系列文章:<机器学习实战>学习笔记 最近看了<机器学习实战>中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集).正如章 ...

  6. FP-Growth算法之频繁项集的挖掘(python)

    前言: 关于 FP-Growth 算法介绍请见:FP-Growth算法的介绍. 本文主要介绍从 FP-tree 中提取频繁项集的算法.关于伪代码请查看上面的文章. FP-tree 的构造请见:FP-G ...

  7. FPGrowth算法原理

    算法实现: /** * FPGrowth算法的主要思想: * 1. 构造频繁1项集:遍历初始数据集构造频繁1项集,并作为项头表,建立将指向fpTree节点对应元素的引用 * 2. 构造FPTree:再 ...

  8. FpGrowth算法

    FpGrowth算法 频繁项集与关联规则挖掘(2)--FpGrowth算法   上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的 ...

  9. 关联分析:FP-Growth算法

    关联分析又称关联挖掘,就是在交易数据.关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式.关联.相关性或因果结构.关联分析的一个典型例子是购物篮分析.通过发现顾客放入购物篮中不同商品 ...

随机推荐

  1. HDU 3535 AreYouBusy (混合背包)

    题意:给你n组物品和自己有的价值s,每组有l个物品和有一种类型: 0:此组中最少选择一个 1:此组中最多选择一个 2:此组随便选 每种物品有两个值:是需要价值ci,可获得乐趣gi 问在满足条件的情况下 ...

  2. 各大IT技术博客排行榜

    cnblogs 积分排名前3000名 http://www.cnblogs.com/ 左侧有推荐博客排行 cppblog http://www.cppblog.com/AllBloggers.aspx ...

  3. Ubuntu安装Wildfly(原JBoss)并为其配置MySQL分布式数据源

    注:JBoss在8.0版本后改名为WildFly,以JBoss命名的版本最高为7.1.1.Final,但JBoss7.1.1.Final不支持jdk1.8以上版本,如果在jdk1.8情况下安装JBos ...

  4. weex scroller

    今天学习了一下weex的 scroller.就简单地对其整理一下自己的学习笔记. <scroller>这个标签只能出现在列(column)上面, 只有当它自己的内容大于类似与PC父级的高度 ...

  5. grep 信息提取

    1.提取svn版本库的版本号 svn info |grep -Po '(?<=Revision: )[0-9]*'

  6. 前端UI框架和JS类库

    一.前端框架库: 1.Zepto.js 地址:http://www.css88.com/doc/zeptojs/ 描述:Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jqu ...

  7. LINUX 编译安装 PHP 环境

    今天终于有时间 总结一下 linux 的编译安装 php 环境同学给我发了他写的文档 ,基本就可以实现编译安装了我同学文章地址: http://penghui.link/articles/2016/0 ...

  8. 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节

    这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...

  9. Unity3d刚体Rigidbody与碰撞检测Collider

    做了一个碰撞的小Demo,用一个球去撞击一堵墙,结果在球和墙都设置了刚体和碰撞体的情况下,球穿过了墙.移动球的位置,球有时能穿过墙,有时会被墙阻挡. 对于球穿过了墙,这个问题,在网上找了一下答案,基本 ...

  10. Python使用总结二

    近来因为工作需要,用Python比较多,写得多了,收获也多.借此记录总结一下,方便以后反思. 一.IDE的选择 1.notepad++加上cmd窗口 前些时候写python脚本都用notepad++编 ...