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

时间:2017-02-08 13:04:26

标签: apache-spark apache-spark-mllib apache-spark-ml apache-spark-2.0

我正在使用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.LocalLDAModelml.LocalLDAModel

那么,有人可以澄清一下: 1.为什么会这样? 2.在新的主题分发中获取主题分配的正确方法是什么 mFirebaseDatabase.getReference("users") .addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { Update_user1 model = dataSnapshot.getValue(Update_user1.class); myname111.setText(model.getname()); } @Override public void onCancelled(DatabaseError databaseError) { // TODO } });

P.S。我总是可以修改spark代码来暴露旧的API,但我不知道为什么它首先隐藏起来。

1 个答案:

答案 0 :(得分:1)

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