Поделиться через


Многоклассовая классификация "один — один"

В этой статье описывается, как использовать многоклассовый компонент "один — один" в конструкторе машинного обучения Azure. Целью является создание модели классификации, которая может прогнозировать несколько классов с помощью подхода один — один.

Этот компонент удобно использовать при создании моделей для прогнозирования трех и более возможных значений, если они зависят от непрерывных или категориальных прогностических переменных. Этот метод также позволяет использовать методы двоичной классификации для проблем, требующих нескольких выходных классов.

Дополнительные сведения о моделях "один — один"

Некоторые алгоритмы классификации допускают использование более чем двух классов. Другие могут исключать возможные результаты в одном из двух значений (в двоичной модели или в модели с двумя классами). Но даже алгоритмы двоичной классификации можно адаптировать для многоклассовых задач классификации с помощью различных стратегий.

Этот компонент реализует один и тот же метод, в котором двоичная модель создается для каждой пары классов. Во время прогнозирования выбирается класс, получивший большинство голосов. Так как для этого метода требуется подгонка классификаторов n_classes * (n_classes - 1) / 2, этот метод обычно медленнее, чем один — все из-за сложностей O (n_classes ^2). Однако этот метод может оказаться выгодным для таких алгоритмов, как алгоритмы ядра, которые плохо масштабируются с помощью n_samples. Это связано с тем, что каждая отдельная проблема, связанная с обработкой, состоит только из небольшого подмножества данных, в то время как один и тот же полный набор данных используется со временем n_classes.

По сути, компонент создает комплект отдельных моделей, а затем объединяет результаты, чтобы создать единую модель, которая выполняет прогноз по всем классам. Любой двоичный классификатор можно использовать в качестве основания для модели с одним и тем же кодом.

Например, предположим, что вы настроили модель аппаратного вектора поддержки двух классов и представим это в качестве входных данных для многоклассового компонента "один — один". Компонент создаст модели двухклассового метода опорных векторов для всех элементов класса Output. Затем он применяет один и тот же метод, чтобы объединить результаты для всех классов.

Компонент использует OneVsOneClassifier из sklearn, и здесь можно получить дополнительные сведения.

Настройка многоклассового классификатора с одним и тем же числом

Этот компонент создает комплект из моделей двоичной классификации для анализа нескольких классов. Чтобы использовать этот компонент, сначала необходимо настроить и обучить модель двоичной классификации.

Вы подключаете двоичную модель к многоклассовому компоненту "один — один". Затем вы обучите ансамбль модели, используя обучение модели с помеченным набором данных для обучения.

При объединении моделей многоклассовые классы с одним и тем же кодом создают несколько моделей двоичной классификации, оптимизируют алгоритм для каждого класса, а затем объединяют модели. Компонент выполняет эти задачи даже в том случае, если набор данных для обучения может иметь несколько значений класса.

  1. Добавьте многоклассовый компонент "один — один" в конвейер в конструкторе. Этот компонент доступен в разделе Машинное обучение — инициализация в категории Классификация.

    Многоклассовый классификатор с одним и тем же набором не имеет настраиваемых параметров. Все настройки должны выполняться в модели двоичной классификации, предоставляемой в качестве входных данных.

  2. Добавьте модель двоичной классификации в конвейер и настройте эту модель. Например, можно использовать двухклассовый метод опорных векторов или двухклассовое увеличивающееся дерево принятия решений.

  3. Добавьте компонент Обучение модели в конвейер. Подключите необученный классификатор, являющийся выводом многоклассового классификатора "один — один"

  4. В других входных данных по обучению моделиподключите набор обучающих данных с меткой, имеющий несколько значений класса.

  5. Отправьте конвейер.

Результаты

После завершения обучения можно использовать модель для прогнозирования по нескольким классам.

Кроме того, можно передать необученный классификатор в модуль Перекрестная проверка модели для перекрестной проверки с набором данных для проверки с метками.

Следующие шаги

Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.