Spark 1.5.1: преобразовать много меченных данных в бинарный вектор

datascience.stackexchange https://datascience.stackexchange.com/questions/8717

Вопрос

Я использую Spark 1.5.1, и у меня есть DataFrame, который выглядит как следующий:

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

Первый столбец - это список меток для этого образца, и в общей сложности у меня 100 метки.

Я хотел бы построить двоичный классификатор для каждой этикетки, поэтому я хочу преобразовать столбец списка меток в бинарный вектор.

Бинарный вектор будет иметь длину 100, а значение будет 0 или 1, зависит от существования метки для образца.

Есть ли какое -нибудь решение для прямого пролива для этого?

Это было полезно?

Решение

Spark только недавно реализовано CountVectorizer, который возьмет этикетки (в виде строк) и кодирует их как ваш 100-мерный вектор (при условии, что все 100 метки отображаются где-то в вашем наборе данных). После того, как у вас есть эти векторы, это должен быть простой шаг, чтобы вызвать их, чтобы сделать их 0/1 вместо частоты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top