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
    ") }
  • 相关阅读:
    【html5构建触屏网站】之touch事件
    优化网站加载速度的14个技巧
    存储
    [概念] javascript构造函数和普通函数的
    nodejs中的 Cannot read property'text' of undefined 问题
    整理js继承
    清除浮动的五种方法
    用canvas绘制一个时钟
    javascript运动框架
    $(document).ready()与window.onload的区别(转发)
  • 原文地址:https://www.cnblogs.com/yszd/p/13748359.html
Copyright © 2011-2022 走看看