FPGrowth算法总结复习
摘要:
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算法总结复习的更多相关文章
- 使用 FP-growth 算法高效挖掘海量数据中的频繁项集
前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本 ...
- FP-Growth算法及演示程序
FP-Growth算法 FP-Growth(频繁模式增长)算法是韩家炜老师在2000年提出的关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-Tree),但仍保留项集 ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- 数据挖掘系列(2)--关联规则FpGrowth算法
上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的集合,效率提高不少,但是我们发现Apriori算法是一个候选消除算法,每一次消除 ...
- 使用Apriori算法和FP-growth算法进行关联分析
系列文章:<机器学习实战>学习笔记 最近看了<机器学习实战>中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集).正如章 ...
- FP-Growth算法之频繁项集的挖掘(python)
前言: 关于 FP-Growth 算法介绍请见:FP-Growth算法的介绍. 本文主要介绍从 FP-tree 中提取频繁项集的算法.关于伪代码请查看上面的文章. FP-tree 的构造请见:FP-G ...
- FPGrowth算法原理
算法实现: /** * FPGrowth算法的主要思想: * 1. 构造频繁1项集:遍历初始数据集构造频繁1项集,并作为项头表,建立将指向fpTree节点对应元素的引用 * 2. 构造FPTree:再 ...
- FpGrowth算法
FpGrowth算法 频繁项集与关联规则挖掘(2)--FpGrowth算法 上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的 ...
- 关联分析:FP-Growth算法
关联分析又称关联挖掘,就是在交易数据.关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式.关联.相关性或因果结构.关联分析的一个典型例子是购物篮分析.通过发现顾客放入购物篮中不同商品 ...
随机推荐
- 【LFS】简易LFS搭建指南
http://blog.csdn.net/u012333520/article/details/50533002#comments ////////////////////////////////// ...
- 修改redhat 源
关于免费解决RedHat6.5的:This system is not registered to Red Hat Subscription Managemenredhat默认自带的yum源需要注册, ...
- 蜻蜓FM笔试题目,求两个点的最近父节点
这个博客写的特别好. http://blog.csdn.net/kangroger/article/details/40392925
- 【虚拟机】oracle Virtual Box4.2.6虚拟机正在运行的过程中删除了其上的一个备份,之后虚拟机就无法使用了
原因未知,解决方法没有,网上也没有找到相关的解决方法.偶然的操作导致
- 支付宝推AR实景红包,抢红包得拼脑力和体力
近年春节,各大互联网平台都会借机掀起"红包大战",其中支付宝和微信的红包玩法备受用户关注.今年,微信尚未公布春节红包相关的方案信息,不过,今天支付宝率先推出"AR实景红包 ...
- [基础技能] 安全技术——哈希算法密码破解之彩虹表(Rainbow Table)学习
1.基础知识 刚刚学习过数字签名的相关知识,以及数字签名的伪造技术,而伪造数字签名归根结底就是密码破解的一个过程,然而直接破解的速度是非常缓慢的,所以有人想出一种办法,直接建立出一个数据文件,里面事先 ...
- bzoj1051Tarjan裸题
tarjan缩点+判断出度为0的点 所以不需要新建边 #include <cstdio> ,time=,T=,sum=,ans=; ],to[],nex[],fir[],dfn[],low ...
- PHP注册与登录【3】 用户登录与退出
登录页面 login.html 负责收集用户填写的登录信息. <fieldset> <legend>用户登录</legend> <form name=&quo ...
- mycat入门教程
github https://github.com/MyCATApache/Mycat-Server myCat介绍 myCat的诞生,要从其前身Amoeba和Cobar说起. Amoeba(变形虫) ...
- weex image
weex 的image用来渲染图片, 可以使用img作为它的别名. 需要注意的是,他的长度可宽度必须指定, 不然它是不会工作的. 它没有任何的子组件. 有两个属性: src 用来指定图片的地址图片. ...