Ich habe einen Datenrahmen in Apache Spark mit einem Array von ganzen Zahlen, die Quelle ist eine Reihe von Bildern. Ich möchte schließlich PCA machen, aber ich habe Probleme, nur eine Matrix aus meinen Arrays zu erstellen. Wie erstelle ich eine Matrix von einer RDD?
%Vor%Ich bekomme den gleichen Fehler von jeder möglichen Anordnung, die ich mir vorstellen kann:
%Vor%Wenn ich es versuche
%Vor%Traceback (letzter Aufruf zuletzt):
%Vor% Da Sie keine Beispieleingabe angegeben haben, gehe ich davon aus, dass es mehr oder weniger wie folgt aussieht: id
ist eine Zeilennummer und image
enthält Werte.
Zunächst müssen Sie verstehen, dass DenseMatrix
eine lokale Datenstruktur ist. Um genau zu sein, ist es ein Wrapper um numpy.ndarray
. Im Moment (Spark 1.4.1) gibt es keine verteilten Äquivalente in PySpark MLlib.
Dichte Matrix benötigt drei obligatorische Argumente numRows
, numCols
, values
wobei values
eine lokale Datenstruktur ist. In Ihrem Fall müssen Sie zuerst sammeln:
Schließlich:
%Vor%Bearbeiten :
In Spark 1.5+ können Sie mllib.linalg.distributed
wie folgt verwenden:
obwohl API derzeit noch begrenzt ist, um in der Praxis nützlich zu sein.
Tags und Links python apache-spark matrix pyspark apache-spark-mllib