矩阵运算

Spark-MLlib - 图1

矩阵转置

Spark-MLlib - 图2
Spark-MLlib - 图3

向量

Spark-MLlib - 图4
Spark 向量是以对象形式存储的
http://spark.apache.org/docs/latest/mllib-data-types.html

Vector

  1. scala> import org.apache.spark.mllib.linalg.{Vectors,Vector}
  2. import org.apache.spark.mllib.linalg.{Vectors, Vector}
  3. scala> Vectors.dense(1,2,3,4)
  4. res0: org.apache.spark.mllib.linalg.Vector = [1.0,2.0,3.0,4.0]
  5. scala> breeze.linalg.DenseVector(1,2,3,4)
  6. res1: breeze.linalg.DenseVector[Int] = DenseVector(1, 2, 3, 4)
  7. scala> res1.t
  8. res2: breeze.linalg.Transpose[breeze.linalg.DenseVector[Int]] = Transpose(DenseVector(1, 2, 3, 4))
  9. scala> res1+res1
  10. res3: breeze.linalg.DenseVector[Int] = DenseVector(2, 4, 6, 8)
  11. scala> res1*res1.t
  12. res4: breeze.linalg.DenseMatrix[Int] =
  13. 1 2 3 4
  14. 2 4 6 8
  15. 3 6 9 12
  16. 4 8 12 16