Многоклассовый классификатор "один — все"
В этой статье описывается, как использовать компонент многоклассового классификатора "один — все" в конструкторе машинного обучения Azure. Целью является создание модели классификации, которая может прогнозировать несколько классов с помощью подхода один — все.
Этот компонент удобно использовать при создании моделей для прогнозирования трех и более возможных значений, если они зависят от непрерывных или категориальных прогностических переменных. Этот метод также позволяет использовать методы двоичной классификации для проблем, требующих нескольких выходных классов.
Дополнительные сведения о моделях "один — все"
Некоторые алгоритмы классификации допускают использование более чем двух классов. Другие могут исключать возможные результаты в одном из двух значений (в двоичной модели или в модели с двумя классами). Но даже алгоритмы двоичной классификации можно адаптировать для многоклассовых задач классификации с помощью различных стратегий.
Этот компонент реализует метод "один — все", в котором для каждого из нескольких выходных классов создается двоичная модель. Компонент оценивает каждую из этих двоичных моделей для отдельных классов в сравнении с дополнением (все другие классы в модели), как при двоичной классификации. В дополнение к вычислительной эффективности (требуются только классификаторы n_classes
) одним из преимуществ такого подхода является его интерпретируемость. Поскольку каждый класс представлен только одним классификатором, можно получить сведения о классе, изучив соответствующий классификатор. Это наиболее часто используемая стратегия для классификации по нескольким классам, которая справедливо выбрана по умолчанию. Затем компонент выполняет прогнозирование, запустив эти двоичные классификаторы и выбрав прогноз с наивысшей оценкой достоверности.
По сути, компонент создает комплект отдельных моделей, а затем объединяет результаты, чтобы создать единую модель, которая выполняет прогноз по всем классам. Любой двоичный классификатор можно использовать в качестве основы для модели "один — все".
Например, предположим, что вы настроили модель двухклассовой машины опорных векторов, и представим это в качестве входных данных для многоклассового компонента "один — все". Компонент создаст модели двухклассового метода опорных векторов для всех элементов класса Output. Затем он применит метод "один — все", чтобы объединить результаты для всех классов.
Этот компонент использует OneVsRestClassifier из sklearn, и здесь можно получить дополнительные сведения.
Настройка Многоклассового классификатора "один — все"
Этот компонент создает комплект из моделей двоичной классификации для анализа нескольких классов. Чтобы использовать этот компонент, сначала необходимо настроить и обучить модель двоичной классификации.
Вы подключаете двоичную модель к многоклассовому компоненту "один — все". Затем вы обучите ансамбль модели, используя обучение модели с помеченным набором данных для обучения.
При объединении моделей Многоклассовый классификатор "один — все" создает несколько моделей двоичной классификации, оптимизирует алгоритм для каждого класса, а затем объединяет модели. Компонент выполняет эти задачи даже в том случае, если набор данных для обучения может иметь несколько значений класса.
Добавьте многоклассовый компонент "один — все" в конвейер в конструкторе. Этот компонент доступен в разделе Машинное обучение — инициализация в категории Классификация.
Многоклассовый классификатор "один — все" не имеет настраиваемых параметров. Все настройки должны выполняться в модели двоичной классификации, предоставляемой в качестве входных данных.
Добавьте модель двоичной классификации в конвейер и настройте эту модель. Например, можно использовать двухклассовый метод опорных векторов или двухклассовое увеличивающееся дерево принятия решений.
Добавьте компонент Обучение модели в конвейер. Подключите необученный классификатор, являющийся выводом многоклассового классификатора "один — все".
В других входных данных по обучению моделиподключите набор обучающих данных с меткой, имеющий несколько значений класса.
Отправьте конвейер.
Результаты
После завершения обучения можно использовать модель для прогнозирования по нескольким классам.
Кроме того, можно передать необученный классификатор в модуль Перекрестная проверка модели для перекрестной проверки с набором данных для проверки с метками.
Следующие шаги
Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.