Question

J'utilise SPARK 1.5.1, et j'ai dataframe qui ressemble à suivre:

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

La première colonne est la liste d'étiquettes pour cet échantillon, et au total 100 je étiquette.

Je voudrais construire un classificateur binaire pour chaque étiquette, donc je veux transformer la colonne de la liste des étiquettes dans un vecteur binaire.

Le vecteur binaire aura une longueur de 100 et la valeur de 0 ou 1 dépend de l'existence de l'étiquette de l'échantillon.

Y at-il une solution avant détroit pour cela?

Était-ce utile?

La solution

Spark récemment mis en œuvre CountVectorizer , qui prendra les étiquettes (sous forme de chaînes) et encode les 100 que votre vecteur dimensions (en supposant les 100 étiquettes apparaissent quelque part dans votre ensemble de données). Une fois que vous avez ces vecteurs, il devrait être une simple étape de seuil pour les faire 0/1 au lieu d'une fréquence.

Licencié sous: CC-BY-SA avec attribution
scroll top