Я подозреваю, что вам нужно обратить внимание на правильный формат ввода для MultiLabelBinarizer
.
y: итерируемые итерируемые
набор меток (любой заказываемый и хешируемый объект)для каждого образца.
Доказательство:
txt = [['book', 'read'],['cup', 'drink']]
mlb = MultiLabelBinarizer(classes=("drink","cup","book", "read"))
mlb.fit_transform(txt)
array([[0, 0, 1, 1],
[1, 1, 0, 0]])
Пожалуйста, дайте нам знать, если это решит вашу проблему.
Примечание о формате данных
Если вы настаиваете, что ваши данные находятся в массиве, который вы указали в своем сообщении:
arr = ["['book', 'read']","['cup', 'drink']"]
, то следующий фрагмент кода преобразует их в правильный формат:
import re
[["".join(re.findall("\w",f)) for f in lst] for lst in [s.split(",") for s in arr]]
[['book', 'read'], ['cup', 'drink']]