2015-09-16 7 views

答えて

13

Spark 1.5では、DistributedLDAModelではこの機能が実装されていませんでした。

newDocuments: RDD[(Long, Vector)] = ... 
val topicDistributions = distLDA.toLocal.topicDistributions(newDocuments) 
:何をする必要があるとしていること toLocal方法を使用して LocalLDAModelにモデルを変換し documentsは、新しい(すなわち、アウト訓練)文書である topicDistributions(documents: RDD[(Long, Vector])メソッドを呼び出して、このようなものです

これは、this paperが示唆しているEMアルゴリズムよりも精度は低くなりますが、動作します。あるいは、新しいオンライン変分EMトレーニングアルゴリズムを使用して、すでにLocalLDAModelという結果を得ることもできます。より速くなることに加えて、この新しいアルゴリズムは、フィッティングDistributedLDAModelsの古いEMアルゴリズムとは異なり、ドキュメントのトピック混合重みよりも前にディリクレのパラメータ(アルファ)を​​最適化しているために好ましい。 Wallach, et. al.によれば、アルファの最適化は、良いトピックを得るためには非常に重要です。

+1

ありがとうございました。答えは非常に便利です!可能であれば、topicDistributionsの出力をどのようにしてより表現可能な結果に抽出するかについてもっと詳しく説明できますか? – HappyCoding

+0

私はこれを実装し、topicDistributions [ここ](https://gist.github.com/alex9311/774089d936eee505d7832c6df2eb597d)を印刷する方法を示しました – alex9311

+0

1.6のために何か変更されましたか? –

関連する問題