Мне нужно выяснить, как создать единую матрицу из плотных векторов произвольного размера в искровом свете. Я пытался что-то сделать из модуля mllib.linalg.distributed, но безрезультатно. Мне нужна фреймворк с одним столбцом «функции», который имеет DenseVectors в качестве своих строк, где каждая строка является соответствующей строкой в единичной матрице.Создайте единую матрицу из плотных векторов в качестве световой информационной рамки
1
A
ответ
2
Простой и простой с pyspark.mllib.linalg.distributed
:
from pyspark.mllib.linalg.distributed import MatrixEntry, CoordinateMatrix
from pyspark import SparkContext
def identity(n: int, sc: SparkContext) -> CoordinateMatrix:
return CoordinateMatrix(
sc.range(n).map(lambda i: MatrixEntry(i, i, 1.0)), n, n)
Использование DataFrames
и DenseVectors
не имеет особого смысла. Прежде всего DataFrames
не упорядочены и не поддерживают алгебраические операции. Более того, использование DenseVectors
вызовет проблемы памяти с матрицами любого размера, где использование распределенных структур данных оправдано.