摘要:

  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. MIT 6.828 JOS学习笔记10. Lab 1 Part 3: The kernel

    Lab 1 Part 3: The kernel 现在我们将开始具体讨论一下JOS内核了.就像boot loader一样,内核开始的时候也是一些汇编语句,用于设置一些东西,来保证C语言的程序能够正确的 ...

  2. python遍历一个网段的ip地址

    def ip2num(ip):#ip to int num lp = [int(x) for x in ip.split('.')] return lp[0] << 24 | lp[1] ...

  3. Eclipse '/RemoteSystemsTempFiles'错误

    错误代码 Could not write metadata for '/RemoteSystemsTempFiles'.D:\workspace4.5\.metadata\.plugins\org.e ...

  4. Effective C++ 笔记1

    条款1:视C++为一个语言联邦 1.C.Object-Oriented C++.Template C++ .STL 组成了C++,高效编程取决你使用C++的哪一部分 条款2:尽量用const ,enu ...

  5. java中Map和List初始化的两种方法

    第一种方法(常用方法): //初始化List List<string> list = new ArrayList</string><string>(); list. ...

  6. [8.3] Magic Index

    A magic index in an array A[0...n-1] is defined to be an index such that A[i] = i. Given a sorted ar ...

  7. Python开发工具PyCharm个性化设置(图解)

    Python开发工具PyCharm个性化设置,包括设置默认PyCharm解析器.设置缩进符为制表符.设置IDE皮肤主题等,大家参考使用吧. JetBrains PyCharm Pro 4.5.3 中文 ...

  8. WindowManager.LayoutParams 札记

    WindowManager.LayoutParams wlp = new WindowManager.LayoutParams(width, height, WindowManager.LayoutP ...

  9. 关于C#调用非托管动态库方式的性能疑问

    最近的项目中,因为一些原因,需要C#调用非托管(这里为C++)的动态库.网上喜闻乐见的方式是采用静态(DllImport)方式进行调用.偶然在园子里看到可以用动态(LoadLibrary,GetPro ...

  10. Linux下不同机器之间拷贝文件

    在Linux系统下,不同机器上实现文件拷贝 一.将本地文件拷贝到远程机器: scp /home/administrator/news.txt root@192.168.6.129:/etc/squid ...