У меня есть набор кортежей размера три в списке, представляющем оконные последовательности. Мне нужно использовать pyspask, чтобы иметь возможность получить (учитывая две первые части кортежа) третью.Недостаток извлечения последовательности префиксаSpan
Для этого мне нужно создать последовательности из трех элементов на основе их частоты.
Это то, что я делаю:
data = [[['a','b','c'],['b','c','d'],['c','d','e'],['d','e','f'],['e','f','g'],['f','g','h'],['a','b','c'],['d','e','f'],['a','b','c'],['b','c','d'],['f','g','h'],['d','e','f'],['b','c','d']]]
rdd = spark.sparkContext.parallelize(data,2)
rdd.cache()
model = PrefixSpan.train(rdd, 0.2, 3)
print(sorted(model.freqSequences().take(100)))
Хотя, я бы ожидал увидеть последовательности и частоты о них следовать алфавит, они не делают.
И я получаю последовательности, как:
FreqSequence(sequence=[[u'c'], [u'd'], [u'b']], freq=1)
FreqSequence(sequence=[[u'g'], [u'c'], [u'c']], freq=1)
, которые не появляются в определенных из них. Очевидно, что есть проблема в том, как у меня есть структура моих функций или я чего-то не хватает в цели и функциональности этого алгоритма.
Спасибо!
спасибо много для объяснения всего этого! – Kratos