首页 > 编程知识 正文

数据挖掘,基于spark的项目

时间:2023-05-06 07:24:11 阅读:142317 作者:838

FP-Growth算法概述阶段1:FP树构建步骤1 :清洁和amp; 分类步骤1 :构建FP树,具有清洁项目集的表头阶段2 :开采主要树和条件FP树的步骤1 :将主要的FP树分割为条件FP树的步骤2 :递归挖掘各条件树,spp

FP树是整个FP Growth算法的核心概念。 简单地说,FP树是项目集数据库的压缩表示。 树结构不仅在数据库中维护项目集,还跟踪项目集之间的关联

通过获取每个项目集并将其一次映射到树中的路径来构建树。 这种结构背后的总体思想是,频繁出现的项集将有更多的机会共享项集

之后,我们递归地挖掘树以获得频繁的模式。 模式增长,即算法的名称是通过连接从条件FP树中生成的频繁模式来实现的。

概要

FP增长之所以这么有效率,是因为它是分开治疗的方法。 而且我们知道高效的算法必须利用某种数据结构和先进的编程技术。 实现了树、链表和深度优先检索的概念。 该过程可以分成两个主要的阶段,每个阶段又可以分成两个步骤。

阶段1 ) FP树构建步骤1 )对于每个清洁和分类交易,首先删除低于最低支持量的项目。 然后,频率支持按降序对项目进行排序。

步骤2 )构建FP树,使用清理的项目集的开头表循环浏览清理的项目集,并一次将其映射到树中。 如果分支中已经存在项目,它们将共享同一节点,计数将增加。 否则,项目将被放置在创建该项目的新分支中。

头表也是在这个过程中构建的。 交易中的每个唯一项目都有一个链接列表。 通过链接列表,您可以在树中快速找到项目的出现,而无需遍历树。

阶段2 )采掘主要树和条件FP树的步骤1 )将主要的FP树分为条件FP树,每次频繁出现时从一个模式开始,在FP树中制作带有前缀集的条件模式库。 然后,使用这些模式库以与阶段1完全相同的方式构建条件FP树。

步骤2 :递归挖掘各条件树的频繁模式是从条件FP树中生成的。 制作了频繁模式的条件FP树。 我们用来挖掘条件树的递归函数接近深度优先搜索。 这样,在继续操作之前,就无法使用剩下的项目构建树了。

使用SPARK实现算法SPARK中已经提供的FTProwth的算法实现,实现非常简单,主要有两个参数

支持程度(MinSupport )和信任程度(MinConfidence )。

publicvoidfpgrowth (sparksessionsparksession ) list row data=arrays.as list (row factory.create ) Arrays.aslist('1) structtypeschema=newstructtype (newstructfield [ ] { newstructfield (' items ',newArraytype ) datatypes.stringtype,ttte datasetrowitemsdf=spark session.createdataframe (data,schema ); fgrowthmodelmodel=newfpgrowth (.setitem scol (items ).setminsupport ) 0.5 ).setminconfidence ) 0.6 ).fit ) itmincon //生成的关联规则model.associationRules ().show; //根据所有关联规则检查条目并预测结果model.transform(itemsdf ).show ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。