ml.clustering.LocalLDAModel 中没有 topicDistributions(..) 方法
No topicDistributions(..) method in ml.clustering.LocalLDAModel
我正在使用 org.apache.spark.ml.clustering.LDA
进行主题建模(使用在线优化器)
它 returns org.apache.spark.ml.clustering.LocalLDAModel
。然而,在那里使用这个模型
似乎没有办法通过文档获得主题分布。
虽然旧的 mllib
API (org.apache.spark.mllib.clustering.LocalLDAModel
) 确实有这个方法
正是因为 org.apache.spark.mllib.clustering.LocalLDAModel.topicDistributions(..)
我不知道为什么会这样。特别地,考虑到新的 ml.LDA
使用旧的
mllib.LDA
并将旧的 mllib.LocalLDAModel
本身包装在新的
ml.LocalLDAModel
.
所以,有人可以澄清一下:
1. 为什么会这样?
2. 什么是正确的方法,如果有的话,在新的主题分布
ml.LocalLDAModel
?
P.S。我总是可以修改 spark 代码来暴露旧的 API 但我不确定为什么它首先被隐藏了。
考虑 ldaModel.transform(dataset)
,它使用额外的列 topicDistribution
扩展您的数据集,您可以在其中获得您想要的内容(dataset
是您传递给 fit()
方法的数据集您的 LDAModel
个实例。
我正在使用 org.apache.spark.ml.clustering.LDA
进行主题建模(使用在线优化器)
它 returns org.apache.spark.ml.clustering.LocalLDAModel
。然而,在那里使用这个模型
似乎没有办法通过文档获得主题分布。
虽然旧的 mllib
API (org.apache.spark.mllib.clustering.LocalLDAModel
) 确实有这个方法
正是因为 org.apache.spark.mllib.clustering.LocalLDAModel.topicDistributions(..)
我不知道为什么会这样。特别地,考虑到新的 ml.LDA
使用旧的
mllib.LDA
并将旧的 mllib.LocalLDAModel
本身包装在新的
ml.LocalLDAModel
.
所以,有人可以澄清一下:
1. 为什么会这样?
2. 什么是正确的方法,如果有的话,在新的主题分布
ml.LocalLDAModel
?
P.S。我总是可以修改 spark 代码来暴露旧的 API 但我不确定为什么它首先被隐藏了。
考虑 ldaModel.transform(dataset)
,它使用额外的列 topicDistribution
扩展您的数据集,您可以在其中获得您想要的内容(dataset
是您传递给 fit()
方法的数据集您的 LDAModel
个实例。