【问题标题】:Run LDA algorithm on Spark 2.0在 Spark 2.0 上运行 LDA 算法
【发布时间】:2017-06-01 09:23:50
【问题描述】:

我使用 spark 2.0.0,我想在尝试执行时将 LDA 模型训练为 Tweets 数据集

val ldaModel = new LDA().setK(3).run(corpus)

我收到此错误

error: reference to LDA is ambiguous;
it is imported twice in the same scope by import org.apache.spark.ml.clustering.LDA and import org.apache.spark.mllib.clustering.LDA

有人可以帮我吗? 谢谢!

【问题讨论】:

  • 能否上传代码
  • 你导入了 LDA 两次看到导入你会发现 import org.apache.spark.ml.clustering.LDA import org.apache.spark.mllib.clustering.LDA

标签: apache-spark machine-learning apache-spark-mllib lda


【解决方案1】:

看起来您有以下两个导入语句:

import org.apache.spark.ml.clustering.LDA
import org.apache.spark.mllib.clustering.LDA

您需要删除其中一个。

如果您使用的是 Spark ML(基于数据框的 API),正确的语法应该是:

import org.apache.spark.ml.clustering.LDA

/*feature extraction step*/

val lda = new LDA().setK(3)
val model = lda.fit(corpus)

如果您使用的是基于 RDD 的 API,那么您必须编写:

import org.apache.spark.mllib.clustering.LDA

/*feature extraction step*/

val lda = new LDA().setK(3)
val model = lda.run(corpus)

【讨论】:

    猜你喜欢
    • 2016-12-12
    • 2014-08-25
    • 2020-04-06
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    相关资源
    最近更新 更多