我正在使用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
中
ml.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,但我不知道为什么它首先隐藏起来。
答案 0 :(得分:1)
考虑ldaModel.transform(dataset)
扩展数据集的附加列topicDistribution
,您可以获得所需内容(dataset
是您传递给fit()
方法的数据集LDAModel
实例。