Как кодировать представление с несколькими метками, используя индекс? - PullRequest
0 голосов
/ 01 июня 2018

Я хочу закодировать [[1, 2], [4]] в

[[0, 1, 1, 0, 0],
[0, 0, 0, 0, 1]]

, в то время как sklearn.preprocessing.MultiLabelbinarizer дает только

[[1, 1, 0],
[0, 0, 1]]

Кто-нибудь знает, как это сделать, используя Numpy или Pandas илиsklearn встроенная функция?

1 Ответ

0 голосов
/ 01 июня 2018

MultilabelBinarizer будет знать только то, что вы отправите в нем.Когда он видит только 3 отдельных класса, он назначает только 3 столбца.

Вам необходимо установить параметр classes, чтобы задать общее количество классов, которые вы ожидаете в наборе данных (в порядке, который вы хотите встолбцы):

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer(classes=[0,1,2,3,4])
mlb.fit_transform([[1, 2], [4]])

#Output
array([[0, 1, 1, 0, 0],
       [0, 0, 0, 0, 1]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...