考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

MLlib中创建稀疏矩阵((0.0, 2.0), (3.0, 0.0), (0.0, 6.0))的语句是( )
A. val dm: Matrix = Matrices.dense(3, 2, Array(0.0, 3.0, 0.0, 2.0, 0.0, 6.0))
B. val dm: Matrix = Matrices.sparse(3, 2, Array(0.0, 2.0, 3.0, 0.0, 0.0, 6.0))
C. val sm: Matrix = Matrices.sparse(3, 2, Array(0, 1, 2), Array(1,0, 1), Array(2, 3, 6))
D. val sm: Matrix = Matrices.dense(3, 2, Array(0, 1, 2), Array(1,0, 1), Array(2, 3, 6))
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

在 Apache Spark 的 MLlib 中,稀疏矩阵(Sparse Matrix)和密集矩阵(Dense Matrix)有不同的创建方式。要创建稀疏矩阵,我们需要使用 `Matrices.sparse` 方法,而不是 `Matrices.dense` 方法。

题目要创建的稀疏矩阵是 `((0.0, 2.0), (3.0, 0.0), (0.0, 6.0))`,这是一个 3 行 2 列的矩阵。为了用稀疏矩阵表示法来表示这个矩阵,我们需要指定以下内容:
- 行数和列数。
- 每列的非零元素的起始索引(用一个数组表示)。
- 每个非零元素所在的行索引。
- 每个非零元素的值。

我们来分析选项:
- 选项 A 和 D 使用了 `Matrices.dense`,表示的是密集矩阵,因此不符合稀疏矩阵的创建方法。
- 选项 B 试图使用 `Matrices.sparse`,但参数的格式不对,且没有正确表示稀疏矩阵的结构。
- 选项 C 使用了 `Matrices.sparse`,并且参数格式正确:

- `Array(0, 1, 2)` 表示每列非零元素的起始索引。
- `Array(1, 0, 1)` 表示非零元素所在的行索引。
- `Array(2, 3, 6)` 表示非零元素的值。

因此,选项 C 是正确的稀疏矩阵创建语句。