PrefixSpan
import org.apache.spark.ml.fpm.PrefixSpan
val smallTestData = Seq(
Seq(Seq(1, 2), Seq(3)),
Seq(Seq(1), Seq(3, 2), Seq(1, 2)),
Seq(Seq(1, 2), Seq(5)),
Seq(Seq(6)))
val df = smallTestData.toDF("sequence")
val result = new PrefixSpan()
.setMinSupport(0.5)
.setMaxPatternLength(5)
.setMaxLocalProjDBSize(32000000)
.findFrequentSequentialPatterns(df)
.show()
/*
Output:
+----------+----+
| sequence|freq|
+----------+----+
| [[3]]| 2|
| [[2]]| 3|
| [[1]]| 3|
| [[1, 2]]| 3|
|[[1], [3]]| 2|
+----------+----+
*/Last updated