spark 在该模块中提供了两种发现频繁项的算法:FPGrowth 和 PrefixSpan。
##FPGrowth
spark 并行化的 FPGrowth 算法,用于挖掘频繁项。FPGrowth 算法基于 Apriori,采用 FP 树减少扫描数据集的次数。更多和 FPGrowth、Apriori 算法相关可看我的另一篇博文:数据挖掘算法初窥门庭--关联
-
类:FreqItemset
该类用于表示频繁项,数据结构为 (items, freq) 元组。 -
类: pyspark.mllib.fpm.FPGrowth
- 方法:
train(data, minSupport=0.3, numPartitions=-1)
- data:数据集
- minSupport:支持度,默认 0.3
- numPartitions:用于 FPGrowth 算法计算的分区数,默认和输入数据的分区数一致。
- 方法:
-
类:pyspark.mllib.fpm.FPGrowthModel
- 方法: 'freqItemsets()'
返回该模型的 FreqItemset 集合
- 方法: 'freqItemsets()'
##PrefixSpan
spark 并行化的 PrefixSpan 算法,用于挖掘频繁序列模式。PrefixSpan 算法是韩家炜老师在 2004 年提出的序列模式算法。
prefixspan 算法的核心是产生前缀和对应的后缀,每次递归都将合适的后缀变为前缀。
-
类:FreqSequence
该类用于表示频繁序列,数据结构为(sequence, freq) 元组 -
类:pyspark.mllib.fpm.PrefixSpan
- 方法:
train(data, minSupport=0.1, maxPatternLength=10, maxLocalProjDBSize=32000000)
- data:输入数据集,每个样本代表一个序列
- minSupport:最小支持度,任何出现次数大于
minSupport*size-of-the-dataset
的模式都会被输出,默认为 0.1 - maxPatternLength:序列的最大长度,默认为 10
- maxLocalProjDBSize:本地处理前,数据库允许的最大样本数量,若超过此数量,会执行另一个分布式 prefix growth 迭代。默认 32000000
- 方法:
-
类: pyspark.mllib.fpm.PrefixSpanModel
- 方法:
freqSequences()
返回该模型的频繁序列集
- 方法:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于