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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результаты

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

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

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

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