我必须在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
答案 0 :(得分:2)
pyspark.ml.linalg.Matrix
和pyspark.mllib.linalg.Matrix
都不实现矩阵乘法。这些类主要用作mllib
/ ml
算法的交换格式,并非设计用作线性代数的全功能数据结构。
如果您需要的不仅仅是将数据传递给某些ML / MLlib算法,请使用标准的NumPy / SciPy堆栈。