Добавление вектора функций tf-idf наиболее эффективным способом в PySpark - PullRequest
0 голосов
/ 07 декабря 2018

Я очень новичок в PySpark.Я пытался реализовать / переписать модель NB-SVM, как описано в этом ядре Kaggle.

Для этого мне кажется, что я должен получить sum of the tfidf vectors, который соответствует метке 1/0 отдельно для каждой метки ответа.

Я пытался

p = data.filter(col('labels_temp') == 1).rdd.map(lambda x:(csc_matrix(x[-5]))).\
reduce(lambda x,y:(x+y))

и

p = data.filter(col('labels_temp') == 1).rdd.map(lambda x:(DenseVector(x[-5]))).\
reduce(lambda x,y:(x+y))

, как описано в этом SO ответе.

Но все они, кажется, работают очень медленно.Есть ли другой способ сделать это?

У tfidf, кажется, есть 262144 columns и 957941 rows.

Любая помощь приветствуется.Заранее спасибо.

...