摘要:

  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. Puppet自动化部署-安装及配置(3)

    本文介绍Puppet Master及Agent相关的安装及配置. 一. 官网下载Puppet安装YUM源 [root@puppet-master ~]# rpm -ivh https://yum.pu ...

  2. java调用sqlldr oracle 安装的bin目录

    package com.jyc.sqlldr; import java.io.BufferedReader;import java.io.InputStream;import java.io.Inpu ...

  3. html5吹牛扯淡篇,闲话内容。

    09年提出对媒体查询的草案,到今天的广泛运用,w3c带我们走进了个性化定制的殿堂.这些之所以会被认可会被写进世界级标准,因为他越来越适应广大用户的需求,需求就像一条锁链带动或者牵引整个互联网开发工作. ...

  4. Java对象大小计算

    这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机 ...

  5. 半吊子学习Swift--天气预报程序-获取天气信息

    昨天申请的彩云天气Api开发者今天上午已审核通过  饭后运动过后就马不停蹄的来测试接口,接口是采用经纬度的方式来获取天气信息,接口地址如下 https://api.caiyunapp.com/v2/ ...

  6. 2016windows(10) wamp 最简单30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world

    2016最简单windows(10) wamp 30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world thrift是什么 最简单解释 thrift是用来帮助各个编程语 ...

  7. 【异常】INFO: TopologyManager: EndpointListener changed ...

    5月份做云部署,在调试CSS系统时,出现启动系统时,卡死情况,后台日志如下: May 03, 2016 2:34:52 AM org.apache.cxf.dosgi.topologymanager. ...

  8. mvc 返回值

    mvc返回值为Model类型 public ActionResult Index(T result) { return View(result); } view中的对象即为页面中的Model数据,之后 ...

  9. Torch7学习笔记(四)StochasticGradient

    使用随机梯度下降训练神经网络 StochasticGradient是一个比较高层次的类,它接受两个参数,module和criterion,前者是模型结构,后者是损失函数的类型.这个类本身有一些参数: ...

  10. 响应式web网站设计制作方法

    在研究响应式的时候,记录了一些感想,分享出来,抛砖引玉,希望可以和大家一起讨论.总结下来,响应式比之前想象的要复杂得多.1. ie9以下(不包括ie9)采用ie条件注释,为ie8以及一下单独开一个样式 ...