技术文章 | 频繁项集挖掘算法之FPGrowth

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术文章 | 频繁项集挖掘算法之FPGrowth相关的知识,希望对你有一定的参考价值。

  频繁项集挖掘算法用于挖掘经常一起出现的item集合(称为频繁项集),通过挖掘出这些频繁项集,当在一个事务中出现频繁项集的其中一个item,则可以把该频繁项集的其他item作为推荐。
 
  比如经典的购物篮分析中啤酒、尿布故事,啤酒和尿布经常在用户的购物篮中一起出现,通过挖掘出啤酒、尿布这个啤酒项集,则当一个用户买了啤酒的时候可以为他推荐尿布,这样用户购买的可能性会比较大,从而达到组合营销的目的。
 
        常见的频繁项集挖掘算法有两类,一类是Apriori算法,另一类是FPGrowth。Apriori通过不断的构造候选集、筛选候选集挖掘出频繁项集,需要多次扫描原始数据,当原始数据较大时,磁盘I/O次数太多,效率比较低下。
 
  FPGrowth算法则只需扫描原始数据两遍,通过FP-tree数据结构对原始数据进行压缩,效率较高。
        FPGrowth算法主要分为两个步骤:FP-tree构建递归挖掘FP-tree。FP-tree构建通过两次数据扫描,将原始数据中的事务压缩到一个FP-tree树,该FP-tree类似于前缀树,相同前缀的路径可以共用,从而达到压缩数据的目的。
 
  接着通过FP-tree找出每个item的条件模式基、条件FP-tree,递归的挖掘条件FP-tree得到所有的频繁项集。算法的主要计算瓶颈在FP-tree的递归挖掘上,下面详细介绍FPGrowth算法的主要步骤

以上是关于技术文章 | 频繁项集挖掘算法之FPGrowth的主要内容,如果未能解决你的问题,请参考以下文章

关联规则FpGrowth算法

基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘最后给出预测模型topK准确率和召回率)

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

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

[ML&DL] 频繁项集Apriori算法

手推FP-growth (频繁模式增长)算法------挖掘频繁项集