pyspark.mllib 密集矩阵乘法

pyspark.mllib DenseMatrix multiplication

我必须在 PySpark 中进行矩阵乘法运算,但找不到如何使用 DenseMatrix 进行运算。例如

from pyspark.mllib.linalg import DenseMatrix

Q = DenseMatrix(nfeatures, nfeatures, [1, 0, 0, 0, 1, 0, 0, 0, 1])
w = DenseMatrix(nfeatures, 1, [0, 0, 0])
print( Q * w )

导致以下错误:

TypeError: unsupported operand type(s) for *: 'DenseMatrix' and 'DenseMatrix'

我做错了什么?有做矩阵乘法的方法吗?使用 PySpark 流执行此操作的常用方法是什么?

此致, 诺莉亚

pyspark.ml.linalg.Matrixpyspark.mllib.linalg.Matrix都没有实现矩阵乘法。这些 类 主要用作 mllib / ml 算法的交换格式,并非旨在用作线性代数的全功能数据结构。

如果您需要的不仅仅是将数据传递给某些 ML/MLlib 算法,只需使用标准 NumPy/SciPy 堆栈。