从Java中的spark数据集创建一个密集矩阵

时间:2017-01-09 10:38:15

标签: matrix apache-spark pca

需要一些关于如何从数据集创建密集矩阵的指示..

假设我的数据集是一个csv文件,数据行为-1:1.1,1.0,1.2和第2行:1.4,1.1,1.3 如何将数据集转换为矩阵......因此可以应用矩阵运算。

的Java /火花

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用vectorassember。它是一个功能转换器,它将多个列合并到一个矢量列中 http://spark.apache.org/docs/latest/ml-features.html#vectorassembler

val dataset = spark.createDataFrame(
  Seq((0, 18, 1.0, Vectors.dense(0.0, 10.0, 0.5), 1.0))
).toDF("id", "hour", "mobile", "userFeatures", "clicked")

val assembler = new VectorAssembler()
  .setInputCols(Array("hour", "mobile", "userFeatures"))
  .setOutputCol("features")

val vd= assembler.transform(dataset)