Поприветствуйте библиотеку под названием Yellowbrick

Что такое график AUC ROC?

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

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

Оценка AUC, равная 1, означает, что модель может точно различать два класса в 100% случаев. Оценка 0,5 означает, что модель не может определить между двумя классами и по сути является предположением. Кривая ROC - это график отношения истинно положительных результатов модели к ложноположительным.

Как графики AUC ROC работают для мультиклассовых моделей?

Для задач с несколькими классами кривые ROC могут быть построены с использованием метода использования одного класса по сравнению с остальными. Используйте этот метод «один против остальных» для каждого класса, и у вас будет такое же количество кривых, как и у классов. Оценка AUC также может быть рассчитана для каждого класса индивидуально.

Создание графика AUC ROC для мультиклассовых моделей

Если вы еще не слышали о нем, Yellowbrick - это небольшая удобная библиотека для различных визуализаций машинного обучения. Здесь можно найти несколько замечательных драгоценных камней, и я рекомендую изучить галерею. Его можно легко установить с помощью методов pip или conda.

У Yellowbrick есть готовый к использованию метод для мультиклассовых графиков ROC AUC, который очень прост. Вы просто создаете экземпляр объекта визуализатора и подгоняете его к обучающим данным, а затем генерируете оценку, вводя тестовые данные. Обычно я использую этот код для удобства и поделюсь с вами функцией, которую я неоднократно использовал в различных проектах:

Следует отметить, что при создании визуализатора модель является параметром, и это должна быть модель классификации Scikit Learn. Еще один отличный параметр, который я часто использую, - это параметр «кодировщик». Это позволяет создать словарь значений вашего класса и более читаемые метки, которые вы хотите отображать для графика. Прежде чем я начну моделировать, я просто обязательно вставляю метки моих классов для конкретного проекта. Вот пример того, как будет выглядеть сюжет из одного из моих собственных проектов:

Вот и все! Подводя итог, я считаю, что Yellowbrick предоставляет самый быстрый и простой способ создать график AUC ROC для мультиклассовых задач, поэтому я часто обращаюсь к нему. Если вы в целом не знакомы с библиотекой Yellowbrick, я рекомендую проверить ее.