Kontext: Ich habe einen Datenrahmen mit zwei Spalten: Label und Features.
%Vor%Where features ist eine mllib.linalg.VectorUDT vom numerischen Typ, die mit VectorAssembler erstellt wurde.
Frage: Gibt es eine Möglichkeit, dem Feature-Vektor ein Schema zuzuordnen? Ich möchte den Namen jedes Features im Auge behalten.
Bisher versucht:
%Vor% %Vor%Aber war nicht sicher, wie man das auf einen vorhandenen Datenrahmen anwendet.
Es gibt mindestens zwei Optionen:
Bei vorhandenem DataFrame
können Sie as
method mit metadata
argument:
Wenn Sie ein neues DataFrame
convert AttributeGroup
toStructField
erstellen und es als Schema für eine bestimmte Spalte verwenden:
Wenn die Vektorspalte mit VectorAssembler
erstellt wurde, sollten die Spaltenbeschreibungsinformationen für Elternspalten bereits angehängt sein.
Vektorfelder sind nicht direkt mit Punktsyntax zugänglich (wie $features.feat1
), können aber von spezialisierten Werkzeugen wie VectorSlicer
:
Für PySpark siehe Wie kann ich eine Spalte als kategorisches Merkmal in einem DataFrame zur Verwendung in ml deklarieren
Tags und Links scala apache-spark apache-spark-mllib apache-spark-ml