如何在 scala 中打印 Map[String, Array[Float]]?
how to print Map[String, Array[Float]] in scala?
我正在使用 Spark 的 mllib 库中的 word2vec 函数。我想打印我得到的词向量作为 "getVectors" 函数的输出
我的代码如下所示:
import org.apache.spark._
import org.apache.spark.rdd._
import org.apache.spark.SparkContext._
import org.apache.spark.mllib.feature.{Word2Vec, Word2VecModel}
object word2vec {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("word2vec")
val sc = new SparkContext(conf)
val input = sc.textFile("file:///home/snap-01/balance.csv").map(line => line.split(",").toSeq)
val word2vec = new Word2Vec()
val model = word2vec.fit(input)
model.save(sc, "myModelPath")
val sameModel = Word2VecModel.load(sc, "myModelPath")
val vec = sameModel.getVectors
print(vec)
}
}
我正在获取“地图(余额 -> [F@2932e15f)”
试试这个:
vec.foreach { case (key, values) => println("key " + key + " - " + values.mkString("-")
}
或者,
println(vec.mapValues(_.toList))
但请注意这样做所需的内存。
我正在使用 Spark 的 mllib 库中的 word2vec 函数。我想打印我得到的词向量作为 "getVectors" 函数的输出 我的代码如下所示:
import org.apache.spark._
import org.apache.spark.rdd._
import org.apache.spark.SparkContext._
import org.apache.spark.mllib.feature.{Word2Vec, Word2VecModel}
object word2vec {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("word2vec")
val sc = new SparkContext(conf)
val input = sc.textFile("file:///home/snap-01/balance.csv").map(line => line.split(",").toSeq)
val word2vec = new Word2Vec()
val model = word2vec.fit(input)
model.save(sc, "myModelPath")
val sameModel = Word2VecModel.load(sc, "myModelPath")
val vec = sameModel.getVectors
print(vec)
}
}
我正在获取“地图(余额 -> [F@2932e15f)”
试试这个:
vec.foreach { case (key, values) => println("key " + key + " - " + values.mkString("-")
}
或者,
println(vec.mapValues(_.toList))
但请注意这样做所需的内存。