如何在Scala Spark中将稀疏矢量转换为密集?

hap*_*der 4 scala apache-spark apache-spark-mllib

我有一个稀疏的向量:

(453,[0,4,11,16,39,56,109],[1.0,1.0,1.0,1.0,1.0,1.0,1.0])
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为密集向量(应该能够看到所有453个值).

如何在Scala Spark中做到这一点?

hap*_*der 7

可以使用SparseVectortoDense方法完成:

val sv = Vectors.sparse(5, Array(0, 3), Array(1.5, -1.5))
sv.toDense
// res0: org.apache.spark.mllib.linalg.DenseVector = [1.5,0.0,0.0,-1.5,0.0]
Run Code Online (Sandbox Code Playgroud)