SparkLDA實(shí)例

Spark LDA 實(shí)例

一、準(zhǔn)備數(shù)據(jù)

創(chuàng)新互聯(lián)是專業(yè)的撫遠(yuǎn)網(wǎng)站建設(shè)公司,撫遠(yuǎn)接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行撫遠(yuǎn)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

數(shù)據(jù)格式為:documents: RDD[(Long, Vector)],其中:Long為文章ID,Vector為文章分詞后的詞向量;

通過分詞以及數(shù)據(jù)格式的轉(zhuǎn)換,轉(zhuǎn)換成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)

三、模型參數(shù)

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" )

四、結(jié)果輸出

topicsMatrix以及topics(word,topic))輸出。mllib上的lda不是分布式的,目前只存儲topic的信息,而不存儲doc的信息,如果獲取只能使用ml中的lda或者通過以下代碼實(shí)現(xiàn)。

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

文章名稱:SparkLDA實(shí)例
本文URL:http://bm7419.com/article28/igepcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站設(shè)計公司網(wǎng)站內(nèi)鏈、定制開發(fā)虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)