我对Hadoop很熟悉,但对Apache Spark完全陌生。目前我正在使用在Mahout中实现的LDA(Latent Dirichlet Allocation)算法来进行主题发现。然而,由于我需要使过程更快,我想使用spark,然而LDA(或CVB)算法没有在spark MLib中实现。这是否意味着我必须自己从头开始实施它?如果是这样的话,Spark是否提供了一些让它更容易的工具?
LDA最近被添加到Spark中。它不是当前1.2.1版本的一部分。
然而,您可以在当前SNAPSHOT版本中找到一个示例:LDAExample.scala
您还可以阅读有关SPARK-1405问题的有趣信息。
那么我该如何使用它呢
当它还没有发布时,最简单的方法可能是在你的项目中复制以下类,就像你自己编码它们一样:
- LDA.scale
- LDAModel.scale
实际上Spark 1.3.0现在已经发布,所以LDA可用!!
c.f。https://issues.apache.org/jira/browse/SPARK-1405
问候,
关于如何在1.3:中使用新的Spark LDA API
下面是一篇描述新API的文章:使用LDA进行主题建模:MLlib满足GraphX
并且,它链接到显示如何对文本输入进行矢量化的示例代码:Github LDA示例