关联规则算法之FP growth算法

机器学习(十一):FP增长(FP-growth) 引言:     FP增长(FP-growth)算法是一种高效发现频繁项集的方法,只需要对数据库进行两次扫描。它基于Apriori构建,但在完成相同任务时采用了一些不同的技术。该算法虽然能更为高效地发现频繁项集,但不能用于发现关联规则。       本文用到的部分术语已在简介中介绍(具体看‘基本概念-关联分析’),这里不再重述。 一、FP-growth算法 FP-growth算法发现频繁... 阅读详情

FP树构造

FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对。为了达到这样的效果,它采用了一种简洁的数据结构,叫做frequent-pattern tree(频繁模式树)。下面就详细谈谈如何构造这个树,举例是最好的方法。请看下面这个例子:

 

这张表描述了一张商品交易清单,abcdefg代表商品,(ordered)frequent items这一列是把商品按照降序重新进行了排列,这个排序很重要,我们操作的所有项目必须按照这个顺序来,这个顺序的确定非常简单,只要对数据库进行一次扫描就可以得到这个顺序。由于那些非频繁的项目在整个挖掘中不起任何作用,因此在这一列中排除了这些非频繁项目。我们在这个例子中设置最小支持阈值(minimum support threshold)为3。

我们的目标是为整个商品交易清单构造一颗树。我们首先定义这颗树的根节点为null,然后我们开始扫描整个数据库的每一条记录开始构造FP树。

第一步:扫描数据库的第一个交易,也就是TID为100的交易。那么就会得到这颗树的第一个分支<(f:1),(c:1),(a:1),(m:1),(p:1)>。注意这个分支一定是要按照降频排列的。


 

第二步:扫描第二条交易记录(TID=200),我们会有这么一个频繁项目集合<f,c,a,b,m>。仔细观察这个队列,你会发现这个集合的前3项<f,c,a>与第一步产生的路径<f,c,a,m,p>的前三项是相同的,也就是说他们可以共享一个前缀。于是我们在第一步产生的路径的基础上,把<f,c,a>三个节点的数目加1,然后将<(b:1),(m:1)>作为一个分支加在(a:2)节点的后面,成为它的子节点。看下图

第三步:接着扫描第三条交易记录(TID=300),你会看到这条记录的集合是<f, b>,与已存在的路径相比,只有f是共有的前缀,那么f节点加1,同时再为f节点生成一个新的字节点(b:1).就会有下图:

 

第四步:继续看第四条交易记录,它的集合是<c,b,p>,哦,这回不一样了。你会发现这个集合的第一个元素是c,与现存的已知路径的第一个节点f不一样,那就不用往下比了,没有任何公共前缀。直接将该集合作为根节点的子路径附加上去。就得到了下图(图1):

第五步:最后一条交易记录来了,你看到了一条集合<f,c,a,m,p>。你惊喜得发现这条路径和树现有最左边的路径竟然完全一样。那么,这整条路径都是公共前缀,那么这条路径上的所有点都加1好了。就得到了最终的图(图2)。

好了,一颗FP树就已经基本构建完成了。等等,还差一点。上述的树还差一点点就可以称之为一个完整的FP树啦。为了便于后边的树的遍历,我们为这棵树又增加了一个结构-头表,头表保存了所有的频繁项目,并且按照频率的降序排列,表中的每个项目包含一个节点链表,指向树中和它同名的节点。罗嗦了半天,可能还是不清楚,好吧直接上图,一看你就明白:

以上就是整个FP树构造的完整过程。聪明的读者一定不难根据上述例子归纳总结出FP树的构造算法。这里就不再赘述。详细的算法参考文献1。

 

FP树的挖掘

 

下面就是最关键的了。我们已经有了一个非常简洁的数据结构,下一步的任务就是从这棵树里挖掘出我们所需要的频繁项目集合而不需要再访问数据库了。还是看上面的例子。

 

第一步:我们的挖掘从头表的最后一项p开始,那么一个明显的直接频繁集是(p:3)了。根据p的节点链表,它的2个节点存在于2条路径当中:路径<f:4,c:3,a:3,m:2,p:2>和路径<c:1,b:1,p:1>.从路径<f:4,c:3,a:3,m:2,p:2>我们可以看出包含p的路径<f,c,a,m,p>出现了2次,同时也会有<f,c,a>出现了3次,<f>出现了4次。但是我们只关注<f,c,a,m,p>,因为我们的目的是找出包含p的所有频繁集合。同样的道理我们可以得出<c,b,p>在数据库中出现了1次。于是,p就有2个前缀路径{(fcam:2),(cb:1)}。这两条前缀路径称之为p的子模式基(subpattern-base),也叫做p的条件模式基(之所以称之为条件模式基是因为这个子模式基是在p存在的前提条件下)。接下来我们再为这个条件子模式基构造一个p的条件FP树。再回忆一下上面FP树的构造算法,很容易得到下面这棵树:

 

但是由于频繁集的阈值是3。那么实际上这棵树经过剪枝之后只剩下一个分支(c:3),所以从这棵条件FP树上只能派生出一个频繁项目集{cp:3}.加上直接频繁集(p:3)就是最后的结果.

第二步:我们接下来开始挖掘头表中的倒数第二项m,同第一步一样,显然有一个直接的频繁集(m:3).再查看它在FP树中存在的两条路径<f:4,c:3,a:3,m:2>和<f:4,c:3,a:3,b1,m:1>.那么它的频繁条件子模式基就是{ (fca:2),(fcab:1)}.为这个子模式基构造FP树,同时舍弃不满足最小频繁阈值的分支b,那么其实在这棵FP树中只存在唯一的一个频繁路径<f:3,c:3,a:3>.既然这颗子FP树是存在的,并且不是一颗只有一个节点的特殊的树,我们就继续递归得挖掘这棵树.这棵子树是单路径的子树,我们可以简化写成mine(FP tree|m)=mine(<f:3,c:3,a:3>|m:3).

下面来阐述如何挖掘这颗FP子树,我们需要递归.递归子树也需要这么几个步骤:

1这颗FP子树的头表最后一个节点是a,结合递归前的节点m,那么我们就得到am的条件子模式基{(fc:3)},那么此子模式基构造的FP树(我们称之为m的子子树)实际上也是一颗单路径的树<f:3,c:3>,接下也继续继续递归挖掘子子树mine(<f:3,c:3>|am:3). (子子树的递归分析暂时打住.因为再分析子子树的递归的话文字就会显得太混乱)

2同样,FP子树头表的倒数第二个节点是c,结合递归前节点m,就有我们需要递归挖掘mine(<f:3>|cm:3).

3 FP子树的倒数第三个节点也是最后一个节点是f,结合递归前的m节点,实际上需要递归挖掘mine(null|fm:3),实际上呢这种情况下的递归就可以终止了,因为子树已经为空了.因此此情况下就可以返回频繁集合<fm:3>

注意:这三步其实还包含了它们直接的频繁子模式<am:3>,<cm:3>,<fm:3>,这在每一步递归调用mine<FPtree>都是一样的,就不再罗嗦得一一重新指明了.

实际上这就是一个很简单的递归过程,就不继续往下分析了,聪明的读者一定会根据上面的分析继续往下推导递归,就会得到下面的结果.

mine(<f:3,c:3>|am:3)=><cam:3>,<fam:3>,<fcam:3>

mine(<f:3>|cm:3)=><fcm:3>

mine(null|fm:3)=><fm:3>

这三步还都包含了各自直接的频繁子模式<am:3>,<cm:3>,<fm:3>.

最后再加上m的直接频繁子模式<m:3>,就是整个第二步挖掘m的最后的结果。请看下图

 

第三步:来看看头表倒数第三位<b:3>的挖掘,它有三条路径<f:4,c:3,a:3,b:1>,<f:4,b:1>,<c:1,b:1>,形成的频繁条件子模式基为{(fca:1),(f:1),(c:1)},构建成的FP树中的所有节点的频率均小于3,那么FP树为空,结束递归.这一步得到的频繁集就只有直接频繁集合<b:3>

第四步:头表倒数第四位<a:3>,它有一条路径<f:4,c:3>,频繁条件子模式基为{(fc:3)},构成一个单路径的FP树.实际上可能有人早已经发现了,这种单路径的FP树挖掘其实根本不用递归这么麻烦,只要进行排列组合就可以直接组成最后的结果.实际上也确实如此.那么这一步最后的结果根据排列组合就有:{(fa:3),(ca:3),(fca:3),(a:3)}

第五步:头表的倒数第五位<c:4>,它只有一条路径<f:4>,频繁条件子模式基为{(f:3)},那么这一步的频繁集也就很明显了:{(fc:3),(c:4)}

第六步:头表的最后一位<f:4>,没有条件子模式基,那么只有一个直接频繁集{(f:4)}

这6步的结果加在一起,就得到我们所需要的所有频繁集.下图给出了每一步频繁条件模式基.

其实,通过上面的例子,估计早有人看出来了,这种单路径的FP树挖掘其实是有规律的,根本不用递归这么复杂的方法,通过排列组合可以直接生成.的确如此,Han Jiawei针对这种单路径的情况作了优化.如果一颗FP树有一个很长的单路径,我们将这棵FP树分成两个子树:一个子树是由原FP树的单路径部分组成,另外一颗子树由原FP树的除单路径之外的其余部分组成.对这两个子树分别进行FP Growth算法,然后对最后的结果进行组合就可可以了.

通过上面博主不厌其烦,孜孜不倦,略显罗嗦的分析,相信大家已经知道FP Growth算法的最终奥义.实际上该算法的背后的思想很简单,用一个简洁的数据结构把整个数据库进行FP挖掘所需要的信息都包含了进去,通过对数据结构的递归就可以完成整个频繁模式的挖掘.由于这个数据结构的size远远小于数据库,因此可以保存在内存中,那么挖掘速度就可以大大提高.

也许有人会问?如果这个数据库足够大,以至于构造的FP树大到无法完全保存在内存中,这该如何是好.这的确是个问题. Han Jiawei在论文中也给出了一种思路,就是通过将原来的大的数据库分区成几个小的数据库(这种小的数据库称之为投射数据库),对这几个小的数据库分别进行FP Growth算法.

还是拿上面的例子来说事,我们把包含p的所有数据库记录都单独存成一个数据库,我们称之为p-投射数据库,类似的m,b,a,c,f我们都可以生成相应的投射数据库,这些投射数据库构成的FP树相对而言大小就小得多,完全可以放在内存里.

在现代数据挖掘任务中,数据量越来越大,因此并行化的需求越来越大,上面提出的问题也越来越迫切.下一篇博客,博主将分析一下,FP Growth如何在MapReduce的框架下并行化.

[1]Mining Frequent Patterns  without Candidate Generation: AFrequent-Pattern Tree Approach

转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebg.html

fp-growth理解及应用 针对餐饮订单数据进行关联规则提取,关联规则的数据量大的时候计算非常耗时,主要是在频繁项集产生的过程中,目前比较经典的两种算法分别是Apriori和Fp-growth(也是基于apriori),两种算法都尝试了,测试fp-growth的计算速度比apriori的速度要快不少,那么显然选择fp-growth进行操作;   FP-growth算法主要包括以下步骤(详细讲解可以查看):   1)扫描数据,得到所有频繁一项集的的计数。然后删除支持度低于阈值的项,将1项频繁集放入项头表,并按照支持度降序排列。   阅读详情

相关推荐

FP Growth算法简介+实例

算法背景:找出关联规则的一种方法是,先找出所有频繁项集,即满足support>=minsup的项集,然后再从频繁项集中选出置信度满足要求的,最后得到强关联规则。问题是,找出所有频繁项集的过程,计算量是极大的。解决这一问题的思路之一是减少候选集。从这一思路出发,有两种较为成熟的解决方案。其中之一是Apriori算法,另一个则是FP Growth算法,也叫做FP Tree算法。也就是说,FP Growth算法是一个挖掘频繁项集的算法。 参考文档:添加链接描述 ...

行步至春深 1万+

频繁关联规则挖掘之FP树

一. FP树构造       FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,它不需要不断地生成候选项目队列和不断得扫描整个数据库进行比对。为了达到这样的效果,它采用了一种简洁的数据结构,叫做frequent-pattern tree(频繁模式树)。请看下面这个例子:       先看数据集如下:              这张表描

数据挖掘及搜索专栏 6966

机器学习:关联规则:Apriori算法、FP - Growth算法的原理、应用场景及优缺点介绍

关联规则挖掘是数据挖掘中的一个重要任务,用于发现数据集中不同项之间的关联关系。

rubyw的博客 1979

FP-growth:FP树的构建

前言 FP-growth是一个非常好的频繁项集发现算法,广泛应用于搜索引擎中(找出经常在一起出现的词对)相对于Apriori算法,FP-growth算法只用对数据库进行两次扫描,因此更适用于处理大数据。 关于FP-growth的理解,请参照这个网址:https://www.cnblogs.com/pinard/p/6307064.html 我自认是没有这个能力写的这么好的哈哈。本文以代码为主。 F...

weixin_43901558的博客 1万+

机器学习实战——第十一/十二章:关联规则挖掘Apriori算法和FP-growth算法

本系列目的在于总结每一个分类器的特点(优点、缺点、使用数据类型、使用时的注意事项等)。相关代码自己搜。 python:建议使用2.7 python常用函数库:NumPy、scikit-learn等 python集成环境:anaconda 毕业季,玩了20天。 Apriori缺点:只关心物品是否出现,不关心出现的次数。每次增加频繁

mmc2015的专栏 3920

关联规则挖掘:FP-growth算法详解

FP-growth(频繁模式增长)算法是一种高效的关联规则挖掘算法,由Jiawei Han等人在2000年提出。与Apriori算法相比,FP-growth算法通过构建FP树(频繁模式树)来减少数据库的扫描次数,从而显著提高挖掘效率。FP-growth算法的核心思想是利用“压缩”的数据库表示,即FP树,来直接发现频繁项集,而无需生成候选集。FP-growth算法通过构建FP树和条件FP树,有效地减少了数据挖掘过程中的计算复杂度,是关联规则挖掘领域的一项重要技术。

kkchenjj的博客 2469

关联规则挖掘(Apriori算法和FP-Growth算法)

Apriori算法的频繁项集的方式是:先产生低阶频繁项集(从1开始的)的,再由低阶频繁项集产生高阶候选项集,高阶候选项集经过支持度的度量筛选产生,最后生成同阶频繁项集。这是不断重复的“产生-测试”的过程。而FP-growth算法采用是完全不同的方式,算法的第一个核心是压缩数据集,采用的是FP_tree这样的一个数据结构来完全表示了所有的事务,第二个核心是采用了“分而治之”的思想,用递归的方式将挖掘频繁项集一步步分成各自的子问题来解决。对比于Apriori算法,FP-growth算法的特点是只需扫描两次数据库

qq_42370335的博客 7771

深入理解数据挖掘的关联规则算法——从Apriori到FP-growth

在关联规则挖掘中,支持度(Support)和置信度(Confidence)是两个核心的度量指标。支持度用于衡量某个项集在整个数据集中出现的频率,而置信度则用于衡量当某个项集出现时,另一个项集出现的条件概率。支持度:项集A的支持度是数据集中包含A的交易数与总交易数的比例。其数学表达式为support(A) = (包含A的交易数) / (总交易数)。置信度:规则A→B的置信度是同时包含A和B的交易数与包含A的交易数的比例。其数学表达式为。

weixin_35750747的博客 1236

基于关联规则的推荐算法详解(Apriori 、FP−Growth)

关联规则分析也是一种比较常见的推荐算法,主要是根据历史数据统计不同规则出现的关系,比如:X−>Y X-&gt;YX−>Y,表示X XX事件发生后,Y YY事件也会有一定概率发生。 关联规则分析最著名的就是“啤酒-尿布”的经典案例,沃尔玛的超市管理人员通过数据发现,很多买尿布的人大概率事件会去购买啤酒。这是因为在美国很多妈妈在家带孩子,所以去超市买尿布的任务就交给了爸爸...

GFDGFHSDS的博客 6676

FP_Growth算法案例讲解和演示

资源包含了FP-tree算法的演示文本、算法源码的讲解、可执行程序的演示以及可编译程序代码,通过这些资源,你可以掌握fp_tree 算法的原理和树的创建过程。

Jetson Orin NX 单目标跟踪算法实战

本文对比了NanoTrack和MixFormerV2两种目标跟踪算法在Jetson Orin NX边缘设备上的实际表现。通过天空小目标跟踪场景测试发现,NanoTrack虽然表征能力较弱,但具有目标身份一致性强、失败模式可控、计算负担小等优势,更适合作为边缘端默认算法。MixFormerV2则适用于高速运动等特定场景。实验数据显示NanoTrack在Orin NX上可达200FPS,远高于MixFormerV2的38-120FPS。建议先采用NanoTrack构建稳定系统,后续再评估复杂算法的适用性。

karmueo46的博客 624

关联规则挖掘算法——Apriori算法以及FP-Growth算法

关联规则挖掘:在大量交易数据中,找出经常一起出现的商品组合(频繁项集),并生成“如果买了 A,就更可能买 B”的规则。支持度衡量规则的普遍性,置信度衡量规则的可靠,提升度衡量 A 和 B 的真实关联强度。1. 原理: 先验原理。如果一个项集是频繁的,那么它的所有子集也一定是频繁的。如果一个项集是非频繁的,那么它的所有超集也一定是非频繁的。通过此来进行剪枝。2. 流程: 扫描数据集,统计单个商品的支持度,筛选项集。 两两组合这些筛选出的项集,再次扫描数据集,筛选项集。

2301_77039628的博客 1467

用废旧汽车电池DIY家用UPS:手把手教你低成本搭建Wi-Fi不断电系统

本文详细介绍了如何利用废旧汽车电池DIY低成本家用UPS系统,确保Wi-Fi设备在断电时持续供电。通过精选材料、电路搭建和安全防护,实现高效稳定的电源转换与智能切换,成本仅为市售UPS的三分之一。特别适合家庭办公和远程工作者提升网络供电可靠性。

weixin_29200485的博客 463

关联规则算法(Apriori算法 and FP-growth算法)

文章目录 由于学习关联规则时没有找到比较浅显易懂的博客,于是打算自己写一篇快速了解关联规则的博客 参考的博客: FP-growth算法 Apriori算法 关联规则挖掘是一种基于规则的机器学习算法,可以在大数据样本库中挖掘频繁项集, ...

NP_hard的博客 2003

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 237

Matt Pocock Skills — AI 编码代理技能包介绍与使用指南

《Matt Pocock Skills:AI编码代理技能包指南》 摘要: Matt Pocock Skills是一套开源AI编码代理技能包,旨在解决AI辅助开发中的四大痛点:需求理解偏差、token浪费、代码质量差和架构腐化。该技能包包含多种实用工具:/grill-with-docs用于需求对齐,/tdd实现测试驱动开发,/diagnose提供规范化调试流程,/triage管理issue生命周期。核心思想包括:通过拷问式对齐确保需求理解一致,建立共享领域语言提高沟通效率,快速反馈闭环加速开发,以及持续架构维

qq_45859163的博客 2221

关联规则挖掘:Apriori 和 FP-Growth 算法

关联规则 (Association Rules) 即一组事物之间的关联关系。此处举一个常见例子进行说明,某超市将面包和黄油放在相近的位置,其原因是在其历史订单中,这两个商品经常被同时购买。那么关联规则挖掘考虑的问题为:如何在历史数据中,挖掘出一组经常同时出现的事物集合?这种关系可以看作是 IF-THEN 关系,即当商品 A 被挑选时,商品 B 也大概率同时会被选中。

lucius-liu.cn 1101

YOLO26轻量化科研实践:PartialConv驱动CSPCPC模块,让模型参数量直降1000W且精度不减

在目录下,新建AddModules文件夹,将cspcpc.py放入其中。

m0_71589036的博客 166

关联规则算法——FP-Growth算法

项集:数据库中的数据项构成的非空集合事务:一个事务包含了一个或多个项集支持度:包含项集x的事务数量与全部事务数量的百分比置信度:同时包含数据项x和数据项y的事务数量与事务x(或事务y)出现的次数之比最小支持度与最小置信度:关联规则必须满足的最低要求,由用户设定频繁项集:大于等于最小支持度的项集称为频繁项集最大频繁项集:不被其它频繁项集包含的频繁项集称为最大频繁项集强关联规则:大于等于最小支持度和最小置信度称为强关联规则(频繁项集的基础上大于等于最小置信度)FP-Growth不会产生候选项集,它采用分而治之的

w20001118的博客 2690

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 843

IPOP 使用详解 (附IPOP工具包)

IP 地址动态绑定功能;路由信息查询和配置功能;MAC 地址信息查询和修改功能;MAC 、主机信息扫描功能;本机网络报文统计功能;本机端口列表、远程端口扫描功能;端口映射功能;网卡流量统计功能;本机 IP 报文捕获和发送功能;终端控制功能(支持 telnet 、 dos、 ssh、 sftp 、ftp、com 等协议);TCL 脚本支持;多种服务功能( tcp/udp/ping/telnet/ftp/tftp/web/team/syslog/smtp );

悦分享 1万+

基于关联规则的Apriori和FP-growth算法

基于关联规则的Apriori和FP-growth算法 一、算法/思路说明 1、 Apriori算法 Apriori算法:使用支持度来作为判断频繁项集的标准。 Apriori算法的目标是找到最大的K项频繁集。这里有两层意思,首先,要找到符合支持度标准的频繁集。但是这样的频繁集可能有很多。第二层意思就是我们要找到最大个数的频繁集。比如我们找到符合支持度的频繁集AB和ABE,那么我们会抛弃AB,只保留ABE,因为AB是2项频繁集,而ABE是3项频繁集。 Apriori算法采用了迭代的方法,先搜索出候选1项集及对应

qq_44161580的博客 1223

要理解成本中心与利润中心的根本区别与适用场景,需从 “责任范围、考核核心、管理目标” 三个核心维度切入,同时明确二者在企业管理体系中的联动关系

摘要: 成本中心与利润核心区别在于责任范围、考核目标和管理权限。成本中心仅对成本负责(如生产、行政部门),考核成本控制能力;利润中心需同时管控成本与收入(如独立产品线、区域分公司),以利润为核心指标。选择标准取决于单元是否拥有收入决策权:无收入权的支持/执行部门设为成本中心,能独立经营、核算盈亏的单元设为利润中心。二者协同运作,成本中心为利润中心提供基础支持,利润中心的需求动态影响成本中心资源配置,共同实现企业整体目标。划分本质是确保考核指标与责任范围匹配,避免管理失效。

金牌架构师 656

关联规则学习算法中FP-growth算法

FP-growth算法是一种常用的关联规则学习算法,它能够高效地挖掘数据集中的频繁项集和关联规则。FP-growth算法的核心思想是构建一种称为FP树(Frequent Pattern Tree)的数据结构来表示频繁项集,通过对FP树的构建和挖掘来找出频繁项集。这段示例代码实现了FP-growth算法,包括构建FP树、构建条件FP树、挖掘频繁项集等步骤。这段示例代码实现了FP-growth算法,包括构建FP树、构建条件FP树、挖掘频繁项集等步骤。继续介绍一下FP-growth算法的特点和应用场景。

牛肉胡辣汤 417

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

weka实战004:fp-growth关联规则算法

apriori算法的计算量太大,如果数据集略大一些,会比较慢,非常容易内存溢出。 我们可以算一下复杂度:假设样本数有N个,样本属性为M个,每个样本属性平均有K个nominal值。 1. 计算一项频繁集的时间复杂度是O(N*M*K)。 2. 假设具有最小支持度的频繁项是q个,根据它们则依次生成一项频繁集,二项频繁集,....,r项频繁集合,它们的元素数量分别是:c(q, 1), c(q

大数据和机器学习研究 6973

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python机器学习算法 — 关联规则(Apriori、FP-growth)

关联规则 -- 简介关联规则挖掘是一种基于规则的机器学习算法,该算法可以在大数据库中发现感兴趣的关系。它的目的是利用一些度量指标来分辨数据库中存在的强规则。也即是说关联规则挖掘是用于知识发现,而非预测,所以是属于无监督的机器学习方法。Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两...

weixin_30654583的博客 3064
上一篇: 关联规则算法---Eclat算法
下一篇: redis对比memcached
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值