【发布时间】:2021-03-23 18:46:42
【问题描述】:
我正在尝试在存储为 spark RowMatrix 的矩阵上运行一些基本的线性代数运算(特别是转置、点积和逆),如此处所述here(使用 Python API)。按照文档中的示例(对于我来说,矩阵中会有更多行,因此需要 Spark),假设我有这样的东西:
from pyspark.mllib.linalg.distributed import RowMatrix
# Create an RDD of vectors.
rows = sc.parallelize([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
# Create a RowMatrix from an RDD of vectors.
mat = RowMatrix(rows)
给定这样一个分布式矩阵,是否存在进行矩阵转置和点积的例程,例如:
dot(mat.T,mat)
还是逆矩阵?
inverse(mat)
我似乎在文档中找不到任何关于此的内容。寻找 (a) 指向相关文档的指针或 (b) 自己实现此功能的方法。
【问题讨论】:
-
您必须将数据存储为 spark RowMatrix 吗?在 pandas 中做你想做的事很容易。
-
当我说“我将在矩阵中有更多行”时,我想我可能会更清楚。该数据对于内存(因此对于 pandas)来说太大了。如果可能的话,我会直接使用 numpy 数组和矩阵运算...
标签: python matrix apache-spark