Data Types - Local matrix

2017-05-09  本文已影响0人  牛马风情

局部矩阵

局部矩阵具有整数类型的行和列索引和double类型的值,存储在单个节点上。MLlib支持密集矩阵,其入口值以列主序列存储在单个double元祖里,稀疏矩阵的非零入口值以列主要顺序存储在压缩稀疏列(CSC)格式中。例如,以下密集矩阵 存储在一维数组中。[1.0, 3.0, 5.0, 2.0, 4.0, 6.0] 矩阵的大小为(3, 2)

⎛1.0 3.0⎞
⎜5.0 2.0⎟
⎝4.0 6.0⎠

Scala

基类局部矩阵是 Matrix,我们提供两种实现:DenseMatrix,和SparseMatrix。我们建议使用实现的工厂方法Matrices来创建本地矩阵。记住,MLlib中的局部矩阵以列主要顺序存储。

import org.apache.spark.mllib.linalg.{Matrix, Matrices}

// Create a dense matrix ((1.0, 2.0), (3.0, 4.0), (5.0, 6.0))
val dm: Matrix = Matrices.dense(3, 2, Array(1.0, 3.0, 5.0, 2.0, 4.0, 6.0))

// Create a sparse matrix ((9.0, 0.0), (0.0, 8.0), (0.0, 6.0))
val sm: Matrix = Matrices.sparse(3, 2, Array(0, 1, 3), Array(0, 2, 1), Array(9, 6, 8))

sparse matrix csc 构造方法

(9.0, 0.0)
(0.0, 8.0)
(0.0, 6.0)

构造 数组 csc
Array(0, 1, 3) Array(0, 2, 1) Array(9, 6, 8)

上一篇 下一篇

猜你喜欢

热点阅读