FP-TREE 算法,频繁项集与关联规则分析

使用场景如:

用户频道属性分析 、用户忠诚度分析 、用户偏好路径分析、 用户偏好终端分析、 用户访问网站时间分析、 用户浏览内容分析

例子:一用户某次访问网站的路径示意图

ABCD    ABEGH    ABEGW   AOU   AOV

Apriori算法

需要扫描多个事物数据集,增加IO开销。会产生2的k次方频繁项集。

FP-Tree算法

概念: 树 链 节点 节点的前向路径 单支 多支 条件基

若Tree为单支,则输出整条单支和条件基BASE,支持度为单支中所有节点支持度的最小值。

  1. 若Tree为多支,先输出项表头HEAD中每项与条件基BASE的组合。然后,对于项表头中的每一项,取出该项在Tree中的所有前向路径,每条路径的基础支持度为该项的支持度。
  2. M条路径共M行数据,将这M行数据重新生成Tree,返回算法步骤-3中的1。

--->流程参考

时间: 2024-08-05 15:25:15

FP-TREE 算法,频繁项集与关联规则分析的相关文章

FP-growth算法(一)——通过构建FP树发现频繁项集

常见的挖掘频繁项集算法有两类,一类是Apriori算法,另一类是FP-growth.Apriori通过不断的构造候选集.筛选候选集挖掘出频繁项集,需要多次扫描原始数据,当原始数据较大时,磁盘I/O次数太多,效率比较低下.FPGrowth不同于Apriori的"试探"策略,算法只需扫描原始数据两遍,通过FP-tree数据结构对原始数据进行压缩,效率较高. FP代表频繁模式(Frequent Pattern) ,算法主要分为两个步骤:FP-tree构建.挖掘频繁项集. FP树表示法 FP树

FP - growth 发现频繁项集

FP - growth是一种比Apriori更高效的发现频繁项集的方法.FP是frequent pattern的简称,即常在一块儿出现的元素项的集合的模型.通过将数据集存储在一个特定的FP树上,然后发现频繁项集或者频繁项对.通常,FP-growth算法的性能比Apriori好两个数量级以上. FP树与一般的树结构类似,但它通过链接(Link)来连接相似元素,被连起来的元素项可以看成一个链表. 上图是一棵FP树,一个元素项可以在一棵FP树种出现多次,FP树的节点会存储项集的出现频率,每个项集会以路

频繁项集?关联规则?支持度?置信度?

项集: 最基本的模式是项集,它是指若干个项的集合.频繁模式是指数据集中频繁出现的项集.序列或子结构.频繁项集是指支持度大于等于最小支持度(min_sup)的集合.其中支持度是指某个集合在所有事务中出现的频率.频繁项集的经典应用是购物篮模型.常用的频繁项集的评估标准有支持度,置信度和提升度(关联规则)三个 关联规则: 关联规则是形如X→Y的蕴涵式,其中, X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-

Spark下的FP-Growth和Apriori(频繁项集挖掘并行化算法)

频繁项集挖掘是一个关联式规则挖掘问题.关联挖掘是数据挖掘中研究最早也是最活跃的领域,其中频繁模式的挖掘是关联挖掘的核心和基础,是产生关联规则挖掘的基础.频繁项集最经典的应用就是超市的购物篮分析. 首先要理解频繁项集中的以下概念. 频繁项:在多个集合中,频繁出现的元素项. 频繁项集:在一系列集合中每项都含有某些相同的元素,这些元素形成一个子集,满足一定阀值就是频繁项集. K项集:K个频繁项组成的一个集合. 支持度:包含频繁项集(F)的集合的数目. 可信度:频繁项与某项的并集的支持度与频繁项集支持度

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

前言 对于如何发现一个数据集中的频繁项集,前文讲解的经典 Apriori 算法能够做到. 然而,对于每个潜在的频繁项,它都要检索一遍数据集,这是比较低效的.在实际的大数据应用中,这么做就更不好了. 本文将介绍一种专门检索频繁项集的新算法 - FP-growth 算法. 它只会扫描数据集两次,能循序挖掘出频繁项集.因此这种算法在网页信息处理中占据着非常重要的地位. FP-growth 算法基本原理 将数据存储到一种成为 FP 树的数据结构中,这样的一棵树包含了数据集中满足最小支持度阈值的所有节点信

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

前言: 关于 FP-Growth 算法介绍请见:FP-Growth算法的介绍. 本文主要介绍从 FP-tree 中提取频繁项集的算法.关于伪代码请查看上面的文章. FP-tree 的构造请见:FP-Growth算法之 FP-tree 的构造(python). 正文: tree_miner.py文件: #coding=utf-8 import tree_builder import copy class Tree_miner(object): """tree_miner类. 作

FP-Growth算法python实现之频繁项集的挖掘

本文主要介绍从FP-tree中提取频繁项集的算法. 更多请见:FP-Growth算法的介绍.FP_Growth算法python实现.FP-Growth算法python实现之 FP-tree的构造. tree_miner.py代码: #coding=utf-8 import tree_builder import copy class Tree_miner(object): """tree_miner类. 作用:对Tree进行频繁项集的挖掘"""

FP Tree算法原理总结

在Apriori算法原理总结中,我们对Apriori算法的原理做了总结.作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈.为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,无论多少数据,只需要扫描两次数据集,因此提高了算法运行的效率.下面我们就对FP Tree算法做一个总结. 1. FP Tree数据结构 为了减少I/O次数,FP Tree算法引入了一些数据结构来临时存储数据.这个数据结构包括三部分,如下图所示: 第一部分是一个项

FP-growth高效频繁项集发现

FP-growth 算法优缺点: 优点:一般快于Apriori 缺点:实现比较困难,在某些数据上性能下降 适用数据类型:标称型数据 算法思想: FP-growth算法是用来解决频繁项集发现问题的,这个问题再前面我们可以通过Apriori算法来解决,但是虽然利用Apriori原理加快了速度,仍旧是效率比较低的.FP-growth算法则可以解决这个问题.FP-growth算法使用了频繁模式树(Frequent Pattern Tree)的数据结构.FP-tree是一种特殊的前缀树,由频繁项头表和项前