Hängen Sie Metadaten an die Vektorspalte in Spark an

8

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.

    
gstvolvr 10.02.2016, 01:07
quelle

1 Antwort

9

Es gibt mindestens zwei Optionen:

  1. Bei vorhandenem DataFrame können Sie as method mit metadata argument:

    verwenden %Vor%
  2. Wenn Sie ein neues DataFrame convert AttributeGroup toStructField erstellen und es als Schema für eine bestimmte Spalte verwenden:

    %Vor%

Wenn die Vektorspalte mit VectorAssembler erstellt wurde, sollten die Spaltenbeschreibungsinformationen für Elternspalten bereits angehängt sein.

%Vor%

Vektorfelder sind nicht direkt mit Punktsyntax zugänglich (wie $features.feat1 ), können aber von spezialisierten Werkzeugen wie VectorSlicer :

verwendet werden %Vor%

Für PySpark siehe Wie kann ich eine Spalte als kategorisches Merkmal in einem DataFrame zur Verwendung in ml deklarieren

    
zero323 10.02.2016, 01:24
quelle