У меня проблема классификации с несколькими классами, назовем их A, B, C и D. Мои данные имеют следующую форму:
X=[#samples, #features, 1], y=[#samples,1].
Чтобы быть более точным c, у выглядит так:
[['A'], ['B'], ['D'], ['A'], ['C'], ...]
Когда я тренирую классификатор Случайного леса по этим меткам, это работает нормально, однако я прочитал несколько раз, что метки классов также должны быть в горячем коде. После одного горячего кодирования у -
[[1,0,0,0], [0,1,0,0], ...]
и имеет форму
[#samples, 4]
Проблема возникает, когда я пытаюсь использовать это как ввод классификатора. Модель предсказывает каждую из четырех меток в отдельности, а это означает, что она также может выдавать результат, например [0 0 0 0], что мне не нужно. rfc.classes_
возвращает
# [array([0, 1]), array([0, 1]), array([0, 1]), array([0, 1])]
Как бы я сказал модели, что метки имеют одно горячее кодирование вместо нескольких меток, которые должны предсказываться независимо друг от друга? Нужно ли менять свой y или мне нужно изменить некоторые настройки модели?