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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результаты

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

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

Дальнейшие действия

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