• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Spark MLlib LDA主题模型(1),mlliblda

Spark MLlib LDA主题模型(1),mlliblda

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含spark mllib,spark mllib是什么,spark mllib pdf,spark mllib kmeans,spark mllib聚类等服务器相关知识,网友希望可以进行参考

Spark MLlib LDA主题模型(1),mlliblda


Spark MLlib LDA主题模型(1)

Spark MLlib LDA主题模型是Spark1.3开始加入的,具体介绍看以下文档:

官方编程指南:

http://spark.apache.org/docs/latest/mllib-clustering.html#latent-dirichlet-allocation-lda

Spark MLlib LDA 简介:

http://blog.jobbole.com/86130/

关于LDA主题模型的理论知识讲解放在下期。

1.1 LDA实例

实例步骤:

1)加载数据

返回的数据格式为:documents: RDD[(Long, Vector)],其中:Long为文章ID,Vector为文章分词后的词向量;用户可以读取指定目录下的数据,通过分词以及数据格式的转换,转换成RDD[(Long, Vector)]即可。

2)建立模型

模型参数设置说明:

k: 主题数,或者聚类中心数

DocConcentration:文章分布的超参数(Dirichlet分布的参数),必需>1.0

TopicConcentration:主题分布的超参数(Dirichlet分布的参数),必需>1.0

MaxIterations:迭代次数

setSeed:随机种子

CheckpointInterval:迭代计算时检查点的间隔

Optimizer:优化计算方法,目前支持"em", "online"

3)结果输出

topicsMatrix以及topics(word,topic))输出。

实例代码如下: 

import org.apache.log4j.{ Level, Logger }
import org.apache.spark.{ SparkConf, SparkContext }
import org.apache.spark.mllib.clustering.LDA
import org.apache.spark.mllib.linalg.Vectors

object lda {

  def main(args: Array[String]) {
    //0 构建Spark对象
    val conf = new SparkConf().setAppName("lda")
    val sc = new SparkContext(conf)
    Logger.getRootLogger.setLevel(Level.WARN)
    
    //1 加载数据,返回的数据格式为:documents: RDD[(Long, Vector)]
    // 其中:Long为文章ID,Vector为文章分词后的词向量
    // 可以读取指定目录下的数据,通过分词以及数据格式的转换,转换成RDD[(Long, Vector)]即可
    val data = sc.textFile("data/mllib/sample_lda_data.txt")
    val parsedData = data.map(s => Vectors.dense(s.trim.split(' ').map(_.toDouble)))
    // Index documents with unique IDs
    val corpus = parsedData.zipWithIndex.map(_.swap).cache()

    //2 建立模型,设置训练参数,训练模型
    /**
     * k: 主题数,或者聚类中心数
     * DocConcentration:文章分布的超参数(Dirichlet分布的参数),必需>1.0
     * TopicConcentration:主题分布的超参数(Dirichlet分布的参数),必需>1.0
     * MaxIterations:迭代次数
     * setSeed:随机种子
     * CheckpointInterval:迭代计算时检查点的间隔
     * Optimizer:优化计算方法,目前支持"em", "online"
     */
    val ldaModel = new LDA().
      setK(3).
      setDocConcentration(5).
      setTopicConcentration(5).
      setMaxIterations(20).
      setSeed(0L).
      setCheckpointInterval(10).
      setOptimizer("em").
      run(corpus)

    //3 模型输出,模型参数输出,结果输出
    // Output topics. Each is a distribution over words (matching word count vectors)
    println("Learned topics (as distributions over vocab of " + ldaModel.vocabSize + " words):")
    val topics = ldaModel.topicsMatrix
    for (topic <- Range(0, 3)) {
      print("Topic " + topic + ":")
      for (word <- Range(0, ldaModel.vocabSize)) { print(" " + topics(word, topic)); }
      println()
    }

  }

}

转载请注明出处:

http://blog.csdn.net/sunbow0/

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Spark MLlib LDA主题模型(1),mlliblda
  • Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.3,mllibconvolution
  • Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1,mllibconvolution
  • Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1,mllibbelief
  • Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3,mllibbelief

相关文章

  • spark资料下载,spark下载
  • hadoop的namenode无法启动的解决办法,hadoopnamenode
  • Docker 使用方法总结之:容器的基本操作,docker基本操作
  • Web.xml配置详解,web.xml详解
  • Hadoop之Hbase从入门到精通,hadoophbase
  • HIVE动态分区实战,hive动态实战
  • hive之实现列转行,hive列转行
  • java保留两位小数,java两位小数
  • RedHadoop创始人童小军在北京开讲“Hadoop2.0集群优化与管理”啦!,redhadoophadoop2.0
  • hive创建表语句详解,hive语句详解

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • RabbitMQ(python实现)学习之二:Producer发送消息至多个消息队列queue(广播消息),rabbitmqqueue
    • 一步一步跟我学习hadoop(4)----hadoop Map/Reduce教程(1),hadoop----hadoop
    • LinkedIn Cubert 实践指南,linkedincubert
    • 整套spark视频教程免费下载,还有Hadoop,sparkhadoop
    • Docker 使用方法总结之:容器的基本操作,docker基本操作
    • openstack中nova组件Hypervisors、Floating_ips的所有python API 汇总,openstackpython
    • 大数据流式处理一个不能忽视的问题,数据流不能忽视
    • 《2》CentOS7.0+OpenStack+kvm云平台部署—配置Keystone,centos7.0kvm
    • Spark下的PageRank实现,SparkPageRank实现
    • 什么是OpenStack,OpenStack

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有