конвертировать код Scala в LDA Python - PullRequest
0 голосов
/ 30 июня 2018

Я создал модель LDA с библиотекой ML pyspark. Я на последних шагах, чтобы просмотреть темы . Мне нужна помощь в преобразовании синтаксиса Scala в python

скалярный код

val topicIndices = ldaModel.describeTopics(maxTermsPerTopic = 5)
val vocabList = vectorizer.vocabulary

мой синтаксис, эквивалентный Python

topics=ldamodel.describeTopics(5)
vocablist=cv_tmp_model.vocabulary

Мне нужна помощь для преобразования следующих scala в python

val topics = topicIndices.map { case (terms, termWeights) =>
  terms.map(vocabList(_)).zip(termWeights)
}
println(s"$numTopics topics:")
topics.zipWithIndex.foreach { case (topic, i) =>
  println(s"TOPIC $i")
  topic.foreach { case (term, weight) => println(s"$term\t$weight") }
  println(s"==========")
}

Данные, которые я сгенерировал сверху, код Python

+-----+--------------------+-------------------------------------------------------------------------------------------------------------------+
|topic|termIndices         |termWeights                                                                                                        |
+-----+--------------------+-------------------------------------------------------------------------------------------------------------------+
|0    |[4, 12, 1, 590, 852]|[0.0028631659100828368, 0.0012554108491237852, 0.0011644723252479093, 0.0011327750159178295, 0.0010764396870585554]|
|1    |[0, 1, 613, 3, 10]  |[0.002252579749817043, 0.001250966869617955, 0.0011384445968439065, 0.0010844339010670746, 0.0010755506920364175]  |
|2    |[0, 13, 22, 19, 16] |[0.001434960731297773, 9.736198742891527E-4, 9.12508054803329E-4, 9.011478948492135E-4, 8.853188856650885E-4]      |
+-----+--------------------+-------------------------------------------------------------------------------------------------------------------+
only showing top 3 rows




['one',
 'peopl',
 'govern',
 'think',
 'econom',
 'rate',
 'tax',
 'polici',
 'year',
 'like',
 'make',

 'demand',
 'critic',
 'bad',
 'fall',
 'probabl',
 'help',
 'larg',
 'libertarian',
 'agre',
 'littl',
 'suppli']
...