Я расчета TFIDF с использованием Спарк с Python, используя следующий код:Связывание полученных TFIDF разреженных векторов в исходные документы в Спарк
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
idf = IDF().fit(tf)
tfidf = idf.transform(tf)
for k in tfidf.collect():
print(k)
я получил следующие результаты для трех документов:
(1048576,[558379],[1.43841036226])
(1048576,[181911,558379,959994], [0.287682072452,0.287682072452,0.287682072452])
(1048576,[181911,959994],[0.287682072452,0.287682072452])
Предполагая, что у меня есть тысячи документов, как связать результирующие векторы TFIDF с исходными документами, зная, что мне не нужно менять хеш-ключи на исходные термины.
Я могу контролировать количество разделов, но как я могу контролировать количество элементов в каждом разделе? –
Вы не можете. Ну ... Вы можете применять различные преобразования низкого уровня, но нет никакого способа сделать это напрямую. Вот почему 'zip' применим только в некоторых ограниченных случаях, подобных этому. В противном случае вам нужны уникальные идентификаторы и соединение. – zero323
Ах, идентификаторы и присоединиться, очень хороший момент для меня, и у меня есть идентификатор с моими документами. но как я могу обеспечить выполнение вышеуказанного кода, чтобы включить его в RDD tfidf? –