Domanda

Sto usando SPARK 1.5.1, e devo dataframe che assomiglia segue:

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

La prima colonna è la lista di etichette per quel campione, e in totale ho 100 etichetta.

Vorrei costruire un classificatore binario per ogni etichetta, quindi voglio trasformare la colonna dell'elenco etichette in un vettore binario.

Il vettore binario avrà una lunghezza di 100 e il valore è 0 o 1 dipende dall'esistenza dell'etichetta per il campione.

C'è qualche soluzione in avanti stretto per questo?

È stato utile?

Soluzione

Spark solo di recente implementato CountVectorizer , che avrà le etichette (come stringhe) e li codificano come vostro vettore 100-dimensionale (assumendo tutte le 100 etichette di presentarsi da qualche parte nel vostro set di dati). Una volta che hai quei vettori, dovrebbe essere un semplice passo per soglia di loro per farli 0/1 invece di una frequenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top