Декодирование с использованием MultiLabelBinarizer python - PullRequest
1 голос
/ 19 января 2020

Моя цель - это фрейм данных, похожий на приведенный ниже, с использованием MultiLabelBinarizer для кодирования фрейма моих данных (каждой строки сразу), при декодировании всегда выводятся данные в неправильном порядке.

Вот простой фрейм данных (моя цель y):

index   col2         col2     col3
0       Anton        230      DR
1       Leila        890      DR
2       Arjun        688      ENG

Пример из sklearn webiste

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
encoded = mlb.fit_transform([['sci-fi', 'thriller', 'comedy']])
mlb.inverse_transform(encoded)

Ouput:
array(['comedy''sci-fi','thriller'])

The desired output should be:
['sci-fi', 'thriller', 'comedy']  ** NOT ** ['comedy''sci-fi','thriller']

1 Ответ

1 голос
/ 19 января 2020

Попробуйте напечатать закодированную переменную. Я полагаю, что проблема в том, что функция превращает строку «научно-фантастический» в последовательность символов. Функция «Fit Transform» принимает в качестве входных данных «итерируемые итерируемые».

Если я прав, то простое исправление таково:

encoded = mlb.fit_transform([['sci-fi'], ['thriller'], ['comedy']])
...