Как устранить неправильную форму ввода для классификации Multilabel - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь выполнить многослойную классификацию с помощью преобразованных данных TfIdfVectorizer с формой (218,1861) для тегов, имеющих форму (218,5).

Я получаю

ValueError: неправильная форма ввода (218, 5)

Я передаю свои теги через конвейер функции ниже:

self.q_matrix = tf_idf.fit_transform(question_features)

y = MultiLabelBinarizer().fit_transform(tags)

clf.fit(self.q_matrix,y)

, где clf равно LinearSVC.

1 Ответ

0 голосов
/ 31 декабря 2018

Похоже, вы пытаетесь уместить 5 классификаторов (так как y имеет 5 столбцов).Вы не можете сделать это с LinearSVC.Как вы можете видеть в документации к функции fit , ваша цель (y) должна иметь только один столбец:

y: как массив, shape = [n_samples] Целевой вектор относительно X

Так что, если вы хотите разместить 5 классификаторов (по одному на каждый столбец y), вам нужно подгонять их отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...