Вы можете использовать тот же подход, что и в Машины опорных векторов . Изначально SVM были двоичными классификаторами, для обработки мультиклассовых данных было предложено несколько подходов:
один против всех : создайте по одному двоичному классификатору для каждого класса и обучайтесь с экземплярами в этом классе в качестве положительных случаев, а все остальные в качестве отрицательных (например: 1-vs-not1) , 2-vs-not2, 3-vs-not3). Наконец, используйте апостериорную вероятность каждого классификатора, чтобы предсказать класс.
один против одного : создать несколько двоичных классификаторов для каждой пары классов (т. Е. 1-vs-2, 1-vs-3, 2-vs-3, .. ) просто тренируясь над экземплярами из обоих классов. Затем вы можете объединить отдельные результаты, используя большинство голосов.
Выходные коды с исправлением ошибок : на основе теории исправления ошибок (код Хэмминга и т. Д.) Он основан на кодировании выходных данных нескольких двоичных классификаторов с использованием некоторой избыточности для повышения точности.
Обратите внимание, что это универсальный метод и может применяться к любому двоичному классификатору.
В противном случае вы можете искать конкретную реализацию мультикласса Adaboost, который, я уверен, существует множество. Быстрый поиск показал это: Мультикласс GentleAdaboosting