pyspark.mllib DenseMatrix乘法

时间:2016-07-19 11:40:38

标签: apache-spark pyspark apache-spark-mllib matrix-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流媒体执行此操作的常用方法是什么?

祝你好运, NOELIA

1 个答案:

答案 0 :(得分:2)

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

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