Создание матрицы совпадений с количеством пар строк в Scala - PullRequest
0 голосов
/ 25 октября 2018

У меня есть текстовый файл, который я хотел бы преобразовать в матрицу совместного использования.Я уже разбил файл на токены и использую комбинации для получения списка пар слов и их количества.Я делаю это так:

val logData = sc.textFile(input_file, 2).cache()
val tokens = logData.map(_.split(" ").toList)
val coo = tokens.flatMap(_.combinations(2)).map((_, 1)).reduceByKey(_ + _) 

и получаю следующий вывод:

(List(garb, personae),1)
(List(chasm, dream),3)
(List(grandfathers, adulthood),1)
(List(dr, till),2)
(List(those, winds),1)

Теперь я хотел бы преобразовать его в разреженную матрицу со всеми уникальными словами в виде строки столбцы, и количество в качестве значений.Примерно так:

          garb personae chasm dream ...
garb      0    1        0     0
personae  1    0        0     0
chasm     0    0        0     3
dream     0    0        3     0
...

Как я понимаю, я мог бы сначала преобразовать свои строки в индексы и использовать mllib Спарка для создания координатной матрицы.Тем не менее, после изучения документации, я застрял и ничего не могу с этим поделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...