当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark PrefixSpan用法及代码示例


本文简要介绍 pyspark.ml.fpm.PrefixSpan 的用法。

用法:

class pyspark.ml.fpm.PrefixSpan(*, minSupport=0.1, maxPatternLength=10, maxLocalProjDBSize=32000000, sequenceCol='sequence')

用于挖掘频繁序列模式的并行 PrefixSpan 算法。 J. Pei 等人的 PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth 中说明了 PrefixSpan 算法(请参阅 这里 )。该类还不是估算器/转换器,请使用findFrequentSequentialPatterns()方法来运行PrefixSpan算法。

2.4.0 版中的新函数。

注意

Sequential Pattern Mining (Wikipedia)

例子

>>> from pyspark.ml.fpm import PrefixSpan
>>> from pyspark.sql import Row
>>> df = sc.parallelize([Row(sequence=[[1, 2], [3]]),
...                      Row(sequence=[[1], [3, 2], [1, 2]]),
...                      Row(sequence=[[1, 2], [5]]),
...                      Row(sequence=[[6]])]).toDF()
>>> prefixSpan = PrefixSpan()
>>> prefixSpan.getMaxLocalProjDBSize()
32000000
>>> prefixSpan.getSequenceCol()
'sequence'
>>> prefixSpan.setMinSupport(0.5)
PrefixSpan...
>>> prefixSpan.setMaxPatternLength(5)
PrefixSpan...
>>> prefixSpan.findFrequentSequentialPatterns(df).sort("sequence").show(truncate=False)
+----------+----+
|sequence  |freq|
+----------+----+
|[[1]]     |3   |
|[[1], [3]]|2   |
|[[2]]     |3   |
|[[2, 1]]  |3   |
|[[3]]     |2   |
+----------+----+
...

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.ml.fpm.PrefixSpan。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。