diff options
author | Reza Zadeh <rizlar@gmail.com> | 2014-01-04 12:44:04 -0800 |
---|---|---|
committer | Reza Zadeh <rizlar@gmail.com> | 2014-01-04 12:44:04 -0800 |
commit | cdff9fc858b9b83eb1119ec2a6d1d3c9a66f47a9 (patch) | |
tree | d426962afa500f0f73771d49d5f9335f70ab9d90 /mllib/src/main/scala | |
parent | e9bd6cb51dce9222a5a284cd171b299b0169852b (diff) | |
download | spark-cdff9fc858b9b83eb1119ec2a6d1d3c9a66f47a9.tar.gz spark-cdff9fc858b9b83eb1119ec2a6d1d3c9a66f47a9.tar.bz2 spark-cdff9fc858b9b83eb1119ec2a6d1d3c9a66f47a9.zip |
prettify
Diffstat (limited to 'mllib/src/main/scala')
-rw-r--r-- | mllib/src/main/scala/org/apache/spark/mllib/linalg/SVD.scala | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/SVD.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/SVD.scala index e58b8e8fbd..31990b0223 100644 --- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/SVD.scala +++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/SVD.scala @@ -136,7 +136,7 @@ object SVD { // Construct jblas A^T A locally val ata = DoubleMatrix.zeros(n, n) for (entry <- emits.toArray) { - ata.put(entry._1._1-1, entry._1._2-1, entry._2) + ata.put(entry._1._1 - 1, entry._1._2 - 1, entry._2) } // Since A^T A is small, we can compute its SVD directly @@ -158,12 +158,12 @@ object SVD { MatrixEntry(i + 1, j + 1, V.get(i,j)) }.flatten) val retS = sc.makeRDD(Array.tabulate(sigma.length){ - x => MatrixEntry(x + 1,x + 1, sigma(x))}) + x => MatrixEntry(x + 1, x + 1, sigma(x))}) // Compute U as U = A V S^-1 // turn V S^-1 into an RDD as a sparse matrix val vsirdd = sc.makeRDD(Array.tabulate(V.rows, sigma.length) - { (i,j) => ((i + 1, j + 1), V.get(i,j)/sigma(j)) }.flatten) + { (i,j) => ((i + 1, j + 1), V.get(i,j) / sigma(j)) }.flatten) // Multiply A by VS^-1 val aCols = data.map(entry => (entry.j, (entry.i, entry.mval))) @@ -178,10 +178,11 @@ object SVD { def main(args: Array[String]) { if (args.length < 8) { - println("Usage: SVD <master> <matrix_file> <m> <n>" + + println("Usage: SVD <master> <matrix_file> <m> <n> " + "<k> <output_U_file> <output_S_file> <output_V_file>") System.exit(1) } + val (master, inputFile, m, n, k, output_u, output_s, output_v) = (args(0), args(1), args(2).toInt, args(3).toInt, args(4).toInt, args(5), args(6), args(7)) |