zoukankan      html  css  js  c++  java
  • Spark ML 机器学习之Word2Vec

    一.简介

    Word2Vec是一个Estimator表示文档的单词序列并用于训练一个 Word2VecModel该模型将每个单词映射到唯一的固定大小的向量。使用Word2VecModel 文档中所有单词的平均值将转换为向量;然后,可以将此向量用作预测,文档相似度计算等功能

    二.例子

    在下面的代码段中,我们从一组文档开始,每个文档都由单词序列表示。对于每个文档,我们将其转换为特征向量。然后可以将该特征向量传递给学习算法。

    import org.apache.spark.ml.feature.Word2Vec
    import org.apache.spark.ml.linalg.Vector
    import org.apache.spark.sql.Row
    
    // Input data: Each row is a bag of words from a sentence or document.
    val documentDF = spark.createDataFrame(Seq(
      "Hi I heard about Spark".split(" "),
      "I wish Java could use case classes".split(" "),
      "Logistic regression models are neat".split(" ")
    ).map(Tuple1.apply)).toDF("text")
    
    // Learn a mapping from words to Vectors.
    val word2Vec = new Word2Vec()
      .setInputCol("text")
      .setOutputCol("result")
      .setVectorSize(3)
      .setMinCount(0)
    val model = word2Vec.fit(documentDF)
    
    val result = model.transform(documentDF)
    result.collect().foreach { case Row(text: Seq[_], features: Vector) =>
      println(s"Text: [${text.mkString(", ")}] => 
    Vector: $features
    ") }
  • 相关阅读:
    Jira汉化
    maven settings.xml配置用户信息
    Ubuntu 源码方式安装Subversion
    JS表格分页(封装版)
    CSS选择器之基本选择器总结
    有关Web常用字体的研究?
    关于解决不同浏览器之间的兼容性问题
    八一八浏览器内核
    DIV CSS float浮动
    JS对象
  • 原文地址:https://www.cnblogs.com/yszd/p/13748359.html
Copyright © 2011-2022 走看看