SparkLDA实例

Spark LDA 实例

一、准备数据

创新互联是专业的抚远网站建设公司,抚远接单;提供成都网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行抚远网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

数据格式为:documents: RDD[(Long, Vector)],其中:Long为文章ID,Vector为文章分词后的词向量;

通过分词以及数据格式的转换,转换成RDD[(Long, Vector)]即可。

二、建立模型

import org.apache.spark.mllib.clustering._
val ldaOptimizer = new OnlineLDAOptimizer().setOptimizeDocConcentration(true)
val lda = new LDA()
lda.setK(params.k)
.setMaxIterations(params.maxIterations)
.setDocConcentration(params.docConcentration)
.setTopicConcentration(params.topicConcentration)
.setOptimizer(ldaOptimizer)
.setCheckpointInterval(10)
.setSeed(1234)
val modelLDA: LDAModel = lda.run(corpus)
modelLDA.save(sc.sparkContext, params.modelPath)

三、模型参数

case class NewsParams(
    k: Int = 100,
    maxIterations: Int = 100,
    docConcentration: Double = -1,
    topicConcentration: Double = -1,
    stopWordFile: String = "zh_stopwords.txt",
    modelPath: String = "LDAModel.14.100",
    ldaJsonPath:String = "ldaModel.14.200.json",
    vocabPath: String = "vocab_info" )

四、结果输出

topicsMatrix以及topics(word,topic))输出。mllib上的lda不是分布式的,目前只存储topic的信息,而不存储doc的信息,如果获取只能使用ml中的lda或者通过以下代码实现。

val ldaModel = lda.run(documents)
val distLDAModel = ldaModel.asInstanceOf[DistributedLDAModel]
distLDAModel.topicDistributions

文章名称:SparkLDA实例
本文URL:https://www.cdcxhl.com/article28/igepcp.html

成都网站建设公司_创新互联,为您提供网站设计公司网站内链定制开发虚拟主机外贸网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设