mou*_*hio 7 python matrix apache-spark
我想上存储为在此描述的火花RowMatrix矩阵运行一些基本线性代数运算(具体地转置,点积,和倒数)这里(使用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)
Run Code Online (Sandbox Code Playgroud)
给定这样一个分布式矩阵,是否有用于进行矩阵转置和点积的现有例程,例如:
dot(mat.T,mat)
Run Code Online (Sandbox Code Playgroud)
或矩阵逆?
inverse(mat)
Run Code Online (Sandbox Code Playgroud)
我似乎无法在文档中找到关于此的任何内容。寻找 (a) 指向相关文档的指针或 (b) 自己实现的方法。
目前(Spark 1.6.0)pyspark.mllib.linalg.distributedAPI 仅限于基本操作,如计算行/列和类型之间的转换。
Scala API 支持更广泛的方法集,包括乘法 ( RowMatrix.multiply, Indexed.RowMatrix.multiply)、转置、SVD ( IndexedRowMatrix.computeSVD)、QR 分解 ( RowMatrix.tallSkinnyQR)、格拉姆矩阵计算 ( computeGramianMatrix)、PCA ( RowMatrix.computePrincipalComponents),可用于实现更复杂的线性代数函数。