如何在普通的Apache Spark Matrix上执行SVD?

时间:2015-01-07 23:05:04

标签: scala matrix apache-spark apache-spark-mllib

试图找出如何在Apache Spark Matrix上执行进一步操作。我创建了一个简单的RowMatrix,然后我创建了一个协方差矩阵。然而,查看示例/文档并不确定下一步该做什么。到目前为止,这是我的代码:

  def computeCovarianceMatrix(pixelMatrix: Array[Array[Double]]): Matrix = {
    // parallelize the data into Spark
    val data = SparkService.context.parallelize(pixelMatrix)
    val rows = data.map(s => Vectors.dense(s))

    val matrix = new RowMatrix(rows)
    matrix.computeCovariance()
  }

我希望做的事情就像以下一样简单(伪代码):

val covarianceMatrix = computeCovarianceMatrix(pixelMatrix)
val rows = covarianceMatrix.toArray.map(s => Vectors.dense(s))
val matrix = RowMatrix(rows)
matrix.computeSVD(k)

感谢任何可以提供帮助的人:)

0 个答案:

没有答案