Frage

Ich verwende Spark 1.5.1 und habe Datenframe, die nach Folgen aussehen:

labelsCol, featureCol
(Label1, Label2, Label 32), FeatureVector
(Label1, Label10, Label16, Label30, Label48), FeatureVector
...
(Label1, label 95), FeatureVector

Die erste Spalte ist die Liste der Beschriftungen für dieses Beispiel, und insgesamt habe ich 100 Etiketten.

Ich möchte für jedes Etikett einen Binärklassifizierer erstellen, daher möchte ich die Spalte der Etikettenlisten in einen binären Vektor umwandeln.

Der binäre Vektor hat eine Länge von 100 und der Wert beträgt 0 oder 1 von der Existenz des Etiketts für die Probe.

Gibt es dafür eine Strait -Forward -Lösung?

War es hilfreich?

Lösung

Spark erst kürzlich implementiert CountVectorizer, die die Beschriftungen (als Zeichenfolgen) nimmt und sie als Ihren 100-dimensionalen Vektor codieren (vorausgesetzt, alle 100 Etiketten werden irgendwo in Ihrem Datensatz angezeigt). Sobald Sie diese Vektoren haben, sollte es ein einfacher Schritt sein, sie zu Schwellenwert, um sie zu 0/1 anstelle einer Frequenz zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top