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


Многоклассовый классификатор "один — все"

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

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

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

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

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

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

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

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

Настройка Многоклассового классификатора "один — все"

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

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

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

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

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

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

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

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

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

Результаты

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

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

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

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