ml.clustering.LocalLDAModel 中没有 topicDistributions(..) 方法

Posted

技术标签:

【中文标题】ml.clustering.LocalLDAModel 中没有 topicDistributions(..) 方法【英文标题】:No topicDistributions(..) method in ml.clustering.LocalLDAModel 【发布时间】:2017-02-08 13:04:25 【问题描述】:

我正在使用org.apache.spark.ml.clustering.LDA 进行主题建模(使用在线优化器) 它返回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?

附:我总是可以修改 spark 代码以公开旧 API,但我不知道为什么一开始就隐藏它。

【问题讨论】:

【参考方案1】:

考虑ldaModel.transform(dataset),它使用附加列topicDistribution 扩展了您的数据集,您可以在其中获得所需内容(dataset 是您传递给LDAModel 实例的fit() 方法的数据集。

【讨论】:

以上是关于ml.clustering.LocalLDAModel 中没有 topicDistributions(..) 方法的主要内容,如果未能解决你的问题,请参考以下文章