首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark 频繁模式挖掘

Spark 频繁模式挖掘

作者头像
HoLoong
发布2020-10-10 17:23:47
1.3K0
发布2020-10-10 17:23:47
举报
文章被收录于专栏:尼莫的AI小站尼莫的AI小站

Spark - Frequent Pattern Mining

官方文档:https://spark.apache.org/docs/2.2.0/ml-frequent-pattern-mining.html

挖掘频繁项、项集、子序列或者其他子结构通常是大规模数据分析的第一步,这也是近些年数据挖掘领域的活跃研究话题;

目录:

  • FP-Growth

FP-Growth

FP-Growth算法基于这篇论文,“FP”的意思就是频繁模式,提供一个处理后的数据集,FP-Growth第一步是计算项的频率,同时标识频繁项,因为一些目的与类似Apriori算法在设计上有不同之处,FP-Growth第二步是使用一个后缀树(FP树)结构在没有生成显示候选集的情况下进行编码转换,生成候选集通常是代价高昂的,第二步之后,可以通过FP树来提取项集的频率,在spark.mllib中,实现了一个并行版本的FP-Growth算法,叫做PFP,PFP基于后缀转换来分配FP树的生长工作,因此相对比单机版本更有扩展性;

spark.ml的FP-Growth实现了以下超参数:

  • minSupport:一个项集被定义为频繁的最小支持度,如果一个项在5次事务中出现3次,那么它的支持度就是3/5=0.6;
  • minConfidence:生成关联规则的最小可信度,可信度用于指示一个关联规则多久被发现为真,例如,如果项集X出现了4次,X和Y同时发生了2次,那么关联规则X=>Y的可信度就是2/4=0.5,这个参数不会影响频繁项集的挖掘,但是会影响从频繁项集中生成关联规则;
  • numPartitions:使用多少分区来分配任务,默认不设置该参数,使用输入数据集的分区数;

FPGrowthModel提供如下属性:

  • freqItemsets:DataFrame格式的频繁项集数据;
  • associationRules:生成的可信度大于minConfidence的关联规则,同样是DataFrame格式;
  • transform;
from pyspark.ml.fpm import FPGrowth

df = spark.createDataFrame([
    (0, [1, 2, 5]),
    (1, [1, 2, 3, 5]),
    (2, [1, 2])
], ["id", "items"])

fpGrowth = FPGrowth(itemsCol="items", minSupport=0.5, minConfidence=0.6)
model = fpGrowth.fit(df)

# Display frequent itemsets.
model.freqItemsets.show()

# Display generated association rules.
model.associationRules.show()

# transform examines the input items against all the association rules and summarize the
# consequents as prediction
model.transform(df).show()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spark - Frequent Pattern Mining
    • FP-Growth
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档