Roc auc метрика что показывает

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

Описание задачи

Увольнение сотрудников дорого обходится компаниям. Стоимость замены ушедшего сотрудника зачастую очень высока. Исследования Центра Американского прогресса говорят, что компании обычно тратят около одной пятой части годовой зарплаты сотрудника, чтобы найти ему замену. И траты эти могут изрядно возрасти, если требуется замена для руководящего или высокооплачиваемого сотрудника. Затраты приходятся на проведение интервью в процессе поиска замены, бонусы на входе, и потерю производительности работы в течение первых месяцев, пока сотрудник входит в новую роль.

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

Я воспользуюсь пошаговым систематичным подходом, применимым для решения всевозможных задач машинного обучения. Этот проект подпадает под задачи HR аналитики, или People Analytics.

В этом исследовании мы попытаемся решить следующие вопросы:

Чем похожи сотрудники, покидающие компанию?

Каковы ключевые индикаторы уходящих сотрудников?

Какие стратегии могут быть приняты для улучшения удержания сотрудников?

Полностью код проекта представлен в репозитории на GitHub и на Kagle Kernel.

Анализ данных

На сайте IBM указано: «Это искусственные данные, сгенерированные датасаентистами IBM. Они предназначены для демонстрации возможностей IBM Watson Analytics в отношении увольнения сотрудников».

Описание и визуализация данных

Для начала мы импортируем датасет и скопируем исходный файл для анализа. Датасет состоит из 1470 строк и 35 колонок.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Датасет содержит как числовые так и категориальные колонки, в которых представлены персональные данные и данные о трудовом опыте.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Сгруппируем колонки по типу данных (т.е. int64, float64, object):

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Источник данных

В представленном датасете нет пропусков данных. В области HR аналитики данные о сотрудниках вряд ли будут содержать большое количество пропущенных значений, поскольку отделы кадров обычно хранят все личные данные и данные о занятости сотрудников.

Однако подход к сбору и хранению данных (бумажные носители, Excel-файлы, базы данных и т.д.) оказывает большое влияние на точность и доступность кадровых данныъ.

Обзор числовых признаков

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

Некоторые признаки имеют распределение с «тяжелыми хвостами» с перекосом вправо. Например, Месячный доход (MonthlyIncome), Расстояние от дома (DistanceFromHome), Кол-во лет в компании (YearsAtCompany). Возможно потребуются методы преобразование данных для приведения распределения к нормальному перед тренировкой модели.

Распределения Возраста сотрудников нормальное с небольшим перекосом вправо. Основная масса персонала от 25 до 40 лет.

Признаки Кол-во сотрудников (EmployeeCount) и Кол-во рабочих часов (StandardHours) одинаковы для всех сотрудников. Скорее всего они будут избыточными признаками.

ИД сотрудника (Employee Number) это уникальный номер сотрудника из-за чего он получил псевдоравномерное распределение.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Распределение признаков относительно целевой переменной

В этом разделе более подробно рассмотрим результат анализа данных (EDA).

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Гендерное распределение показывает, что в датасете наблюдается более высокая относительная доля бывших сотрудников-мужчин, чем бывших сотрудников-женщин. При этом нормализованное гендерное распределение бывших сотрудников в наборе данных составляет 17,0% для мужчин и 14,8% для женщин.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Семейное положение (Marital Status)

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Должность и Условия работы (Role and Work Conditions)

Предварительный взгляд на взаимосвязь между частотой командировок и статусом выбытия показывает, что существует самая большая нормализованная доля уволенных среди сотрудников, которые «часто» путешествуют. Показатели командировок со статусом «Деловая поездка» не разглашаются (т.е. неизвестно сколько часов в поездках считается «часто»).

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

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

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Лет в компании и с момента последнего повышения (Years at the Company and Since Last Promotion)

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Лет с текущим руководителем (Years with Current Manager)

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

У некоторых сотрудников есть сверхурочная работа. Данные ясно показывают, что среди перерабатывающих сотрудников доля уволившихся значительно выше.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Месячный доход (Monthly Income)

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Целевая переменная: Усталость (Attrition)

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Корреляция

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

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Как показано выше, признаки «Ставка» (Monthly Rate), «Кол-во компаний, в которых работал» (Number of Companies Worked) и «Удаленность от дома» (Distance From Home) имеют положительную корреляцию с признаком «Усталость» (Target). В то время как «Общий стаж» (Total Working Years), «Грейд» (Job Level) и «Лет в текущей должности» (Years In Current Role) имеют отрицательную корреляцию с признаком «Усталость» (Target).

Результаты анализа данных

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

Наиболее сильные положительные корреляции с целевой переменной наблюдаются у признаков: «Рейтинг производительности» (Performance Rating), «Ставка» (Monthly Rate), «Кол-во компаний, в которых работал» (Number of Companies Worked) и «Удаленность от дома» (Distance From Home).

Наиболее сильные отрицательные корреляции с целевой переменной наблюдаются у признаков: «Общий стаж» (Total Working Years), «Грейд» (Job Level), «Лет в текущей должности» (Years In Current Role) и «Месячный доход» (Monthly Income).

Датасет не сбалансирован по большинству наблюдений, описывающих работающих сотрудников.

Неженатые сотрудники увольняются чаще чем женатые и разведенные.

Около 10% уволившихся ушли после двух лет работы в компании.

Те, кто живут дальше от места работы, увольняются чаще.

Те, кто чаще ездят в командировки, увольняются чаще.

Те, кто работают сверхурочно, увольняются чаще.

Те, кто ранее уже сменил несколько мест работы, увольняются чаще.

Препроцессинг данных

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

Кодирование (Encoding)

Обычно модели работают только с числовыми значениями для предсказаний. Соответственно нам нужно закодировать категориальные данные числовыми значениями. Чтобы избежать повышения важности признаков с большим количеством уникальных значений, мы будем использовать Label Encoding и One-Hot Encoding, как показано ниже.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Шкалирование (Scaling)

Шкалирование признаков с помощью MinMaxScaler существенно сужает диапазон значений. Модели машинного обучения работают лучше, когда входные числовые значения находятся в одном диапазоне. В нашем случае мы зададим диапазон от 0 до 5.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Разбивка данных на обучающую и тестовую выборки

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

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Построение моделей машинного обучения

Базовые модели

Давайте сначала посмотрим базовые модели с использованием готовых гиперпараметров, прежде чем мы перейдем к более сложным решениям. Модели, рассматриваемые в этом разделе:

Логистическая регрессия (Logistic Regression)

Случайный лес (Random Forest)

Метод опорных векторов (SVM)

Метод k-ближайших соседей (KNN)

Классификатор на базе дерева решений (Decision Tree Classifier)

Гауссовский наивный байесовский классификатор (Gaussian NB)

Давайте оценим каждую модель по очереди и предоставим оценки точности и стандартного отклонения.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Точность классификации (Classification Accuracy) это точность предсказаний по отношению к общему числу предсказаний. Это наиболее распространенная метрика оценки для задач классификации.

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

Площадь под кривой ROC (Area under ROC Curve, AUC) это метрика производительности для задач бинарной классификации. AUC показывает способность модели различать положительные и отрицательные классы и лучше подходит для этого проекта. Значение площади равное 1,0 соответствует идеальной модели. Значение площади 0,5 соответствует случайной модели.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Основываясь на сравнении метрики ROC AUC, мы выбираем логистическую регрессию (Logistic Regression) и случайный лес (Random Forest) для дальнейшей проработки, так как они показали наибольшие средние значения AUC.

Логистическая регрессия

Воспользуемся GridSearchCV для точной настройки гиперпараметров модели, перебирая определенные значения и используя метрику ROC AUC.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Случайный лес

Теперь поближе посмотрим на Random Forest. Так же настроим гиперпараметры с помощью GridSearchCV и метрики ROC AUC.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Random Forest позволяет нам узнать, какие признаки наиболее важны для прогнозирования целевой переменной («Attrition» в нашем случае). Ниже представлена диаграмма с признаками, отсортированными по их важности в порядке убывания.

Roc auc метрика что показывает. image loader. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image loader. картинка Roc auc метрика что показывает. картинка image loader

Random Forest помогает определить топ 10 самых важных признаков:

Источник

Глубокое погружение в ROC-AUC

Я думаю, что большинство людей слышали о ROC-кривой или о AUC (площади под кривой) раньше. Особенно те, кто интересуется наукой о данных. Однако, что такое ROC-кривая и почему площадь под этой кривой является хорошей метрикой для оценки модели классификации?

Теория ROC-кривой

Полное название ROC — Receiver Operating Characteristic (рабочая характеристика приёмника). Впервые она была создана для использования радиолокационного обнаружения сигналов во время Второй мировой войны. США использовали ROC для повышения точности обнаружения японских самолетов с помощью радара. Поэтому ее называют рабочей характеристикой приемника.

AUC или area under curve — это просто площадь под кривой ROC. Прежде чем мы перейдем к тому, что такое ROC-кривая, нужно вспомнить, что такое матрица ошибок.

Roc auc метрика что показывает. matrica oshibok dlya binarnoj klassifikacii. Roc auc метрика что показывает фото. Roc auc метрика что показывает-matrica oshibok dlya binarnoj klassifikacii. картинка Roc auc метрика что показывает. картинка matrica oshibok dlya binarnoj klassifikacii

Как видно из рисунка выше, матрица ошибок — это комбинация вашего прогноза (1 или 0) и фактического значения (1 или 0). В зависимости от результата предсказания и того, корректна ли была проведена классификация, матрица разделена на 4 части. Например, true positive (истинно положительный) результат — это количество случаев, в которых вы правильно классифицируете семпл как положительный. А false positive (ложноположительный) — это число случаев, в которых вы ошибочно классифицируете семпл как положительный.

Матрица ошибок содержит только абсолютные числа. Однако, используя их, мы можем получить множество других метрик, основанных на процентных соотношениях. True Positive Rate (TPR) и False Positive Rate (FPR) — две из них.

True Positive Rate (TPR) показывает, какой процент среди всех positive верно предсказан моделью.
TPR = TP / (TP + FN).

False Positive Rate (FPR): какой процент среди всех negative неверно предсказан моделью.
FPR = FP / (FP + TN).

Хорошо, давайте теперь перейдем к кривой ROC!

Что такое ROC-кривая?

Roc auc метрика что показывает. image 5. Roc auc метрика что показывает фото. Roc auc метрика что показывает-image 5. картинка Roc auc метрика что показывает. картинка image 5

Как вы можете видеть на графике, кривая ROC — это просто отношение TPR к FPR. Теперь вам все понятно, в заключение…

Поверили?
Если серьезно, вы можете прочитать намного больше информации из диаграммы. Первый вопрос, который я хочу здесь обсудить: у нас же есть только один набор TPR, FPR, посчитанный на основе сделанных моделью предсказаний. Так откуда взялось такое количество точек для построения целого графика?

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

Да, ключевое слово здесь — порог. Разные пороговые значения создают разные TPR и FPR. Они представляют те самые точки, что образуют кривую ROC. Вы можете выбрать «Увеличение» в качестве предсказания модели, если полученная на основе исторических данных вероятность роста акций больше 50%. Также можете изменить пороговое значение и отобразить «Увеличение», только если соответствующая вероятность больше 90%. Если вы установите 90% порог вместо 50%, вы будете более уверены в том, что выбранные для «Увеличения» акции действительно вырастут. Но так вы можете упустить некоторые потенциально выгодные варианты.

Что значит синяя пунктирная линия на графике?

Как мы знаем, чем больше площадь под кривой (AUC), тем лучше классификация. Идеальная или наилучшая кривая — это вертикальная линия от (0,0) до (0,1), которая тянется до (1,1). Это означает: модель всегда может различить положительные и отрицательные случаи. Однако, если вы выбираете класс случайным образом для каждого семпла, TPR и FPR должны увеличиваться с одинаковой скоростью. Синяя пунктирная линия показывает кривую TPR и FPR при случайном определении positive или negative для каждого случая. Для этой диагональной линии площадь под кривой (AUC) составляет 0.5.

Что произойдет с TPR, FPR и ROC-кривой, если изменить пороговое значение?

Roc auc метрика что показывает. roc krivaya. Roc auc метрика что показывает фото. Roc auc метрика что показывает-roc krivaya. картинка Roc auc метрика что показывает. картинка roc krivaya

Посмотрите на две точки на ROC-кривой. Зеленая точка имеет очень высокий порог, это означает, что только если вы уверены на 99%, можете классифицировать случай как positive. Красная точка имеет относительно более низкий порог. Это означает, что вы можете классифицировать случай как positive, если вы уверены на 90%.

Как изменяются TPR и FPR при движении от зеленой точки к красной?

И TPR, и FPR увеличиваются. Когда вы уменьшаете порог, модель будет определять больше положительных случаев. Таким образом, TP увеличивается, как и TP/(TP + FN). С другой стороны, вы неизбежно ошибочно классифицируете некоторые отрицательные случаи как положительные из-за снижения порога, и поэтому FP и FP/(FP + TN) также увеличиваются.

Мы видим, что TPR и FPR положительно коррелируют. Вам нужно балансировать между максимальным охватом positive случаев и минимизацией неправильной классификации negative случаев.

Как выбрать оптимальную точку на кривой ROC?

Трудно определить оптимальную точку, потому что нужно выбрать наиболее подходящее пороговое значение, учитывая сферу применения модели. Однако общее правило — максимизировать разницу (TPR-FPR), которая на графике представлена вертикальным расстоянием между оранжевой и синей пунктирной линией.

Почему площадь под кривой ROC – хорошая метрика для оценки модели классификации?

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

ROC-кривая учитывает не только результаты классификации, но и вероятность предсказания всех классов. Например, если результат корректно классифицирован на основе 51% вероятности, то он, скорее всего, будет классифицирован неверно, если вы воспользуетесь другим тестовым датасетом. Кроме того, ROC-кривая также учитывает эффективность модели при различных пороговых значениях. Она является комплексной метрикой для оценки того, насколько хорошо разделяются случаи в разных группах.

Какое значение AUC является приемлемым для модели классификации?

Как я показал ранее, для задачи двоичной классификации при определении классов случайным образом, вы можете получить 0.5 AUC. Следовательно, если вы решаете задачу бинарной классификации, разумное значение AUC должно быть > 0.5. У хорошей модели классификации показатель AUC > 0.9, но это значение сильно зависит от сферы ее применения.

Как рассчитать AUC и построить ROC-кривую в Python?

Если вы просто хотите рассчитать AUC, вы можете воспользоваться пакетом metrics библиотеки sklearn (ссылка).
Если вы хотите построить ROC-кривую для результатов вашей модели, вам стоит перейти сюда.

Вот код для построения графика ROC, который я использовал в этой статье.

Источник

Логистическая регрессия и ROC-анализ — математический аппарат

Roc auc метрика что показывает. logistic. Roc auc метрика что показывает фото. Roc auc метрика что показывает-logistic. картинка Roc auc метрика что показывает. картинка logistic

Математический аппарат и назначение бинарной логистической регрессии — популярного инструмента для решения задач регрессии и классификации. ROC-анализ тесно связан с бинарной логистической регрессией и применяется для оценки качества моделей: позволяет выбрать аналитику модель с наилучшей прогностической силой, проанализировать чувствительность и специфичность моделей, подобрать порог отсечения.

Введение

Логистическая регрессия — полезный классический инструмент для решения задачи регрессии и классификации. ROC-анализ — аппарат для анализа качества моделей. Оба алгоритма активно используются для построения моделей в медицине и проведения клинических исследований.

Логистическая регрессия получила распространение в скоринге для расчета рейтинга заемщиков и управления кредитными рисками. Поэтому, несмотря на свое «происхождение» из статистики, логистическую регрессию и ROC-анализ почти всегда можно увидеть в наборе Data Mining алгоритмов.

Логистическая регрессия

Логистическая регрессия — это разновидность множественной регрессии, общее назначение которой состоит в анализе связи между несколькими независимыми переменными (называемыми также регрессорами или предикторами) и зависимой переменной. Бинарная логистическая регрессия применяется в случае, когда зависимая переменная является бинарной (т.е. может принимать только два значения). С помощью логистической регрессии можно оценивать вероятность того, что событие наступит для конкретного испытуемого (больной/здоровый, возврат кредита/дефолт и т.д.).

Все регрессионные модели могут быть записаны в виде формулы:

y = F (x_1,\, x_2, \,\dots, \, x_n)

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

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

Для решения проблемы задача регрессии может быть сформулирована иначе: вместо предсказания бинарной переменной, мы предсказываем непрерывную переменную со значениями на отрезке [0,1] при любых значениях независимых переменных. Это достигается применением следующего регрессионного уравнения (логит-преобразование):

где P — вероятность того, что произойдет интересующее событие e — основание натуральных логарифмов 2,71…; y — стандартное уравнение регрессии.

Roc auc метрика что показывает. pic1 logistic curve. Roc auc метрика что показывает фото. Roc auc метрика что показывает-pic1 logistic curve. картинка Roc auc метрика что показывает. картинка pic1 logistic curve

Рис. 1 — Логистическая кривая

P’ = \log_e \Bigl(\frac

<1-P>\Bigr)

Это преобразование обычно называют логистическим или логит-преобразованием. Теоретически P’ может принимать любое значение. Поскольку логистическое преобразование решает проблему об ограничении на 0-1 границы для первоначальной зависимой переменной (вероятности), то эти преобразованные значения можно использовать в обычном линейном регрессионном уравнении. А именно, если произвести логистическое преобразование обеих частей описанного выше уравнения, мы получим стандартную модель линейной регрессии.

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

L\,(Y_1,\,Y_2,\,\dots,\,Y_k;\,\theta) = p\,(Y_1;\, \theta)\cdot\dots\cdotp\,p\,(Y_k;\,\theta)

L\,*\,(Y;\,\theta) = \ln\,(L\,(Y;\,\theta)\,) \rightarrow \max

Логарифмическая функция правдоподобия равна:

Можно показать, что градиент g и гессиан H функции правдоподобия равны:

g = \sum_i (Y_i\,-\,P_i)\,X_i

H=-\sum_i P_i\,(1\,-\,P_i)\,X_i^T\,X_i\,\leq 0

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

Логистическую регрессию можно представить в виде однослойной нейронной сети с сигмоидальной функцией активации, веса которой есть коэффициенты логистической регрессии, а вес поляризации — константа регрессионного уравнения (рис. 2).

Roc auc метрика что показывает. pic2 logist neural. Roc auc метрика что показывает фото. Roc auc метрика что показывает-pic2 logist neural. картинка Roc auc метрика что показывает. картинка pic2 logist neural

Рис. 2 — Представление логистической регрессии в виде нейронной сети

Однослойная нейронная сеть может успешно решить лишь задачу линейной сепарации. Поэтому возможности по моделированию нелинейных зависимостей у логистической регрессии отсутствуют. Однако для оценки качества модели логистической регрессии существует эффективный инструмент ROC-анализа, что является несомненным ее преимуществом.

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

ROC-анализ

ROC-кривая (Receiver Operator Characteristic) — кривая, которая наиболее часто используется для представления результатов бинарной классификации в машинном обучении. Название пришло из систем обработки сигналов. Поскольку классов два, один из них называется классом с положительными исходами, второй — с отрицательными исходами. ROC-кривая показывает зависимость количества верно классифицированных положительных примеров от количества неверно классифицированных отрицательных примеров.

В терминологии ROC-анализа первые называются истинно положительным, вторые — ложно отрицательным множеством. При этом предполагается, что у классификатора имеется некоторый параметр, варьируя который, мы будем получать то или иное разбиение на два класса. Этот параметр часто называют порогом, или точкой отсечения (cut-off value). В зависимости от него будут получаться различные величины ошибок I и II рода.

В логистической регрессии порог отсечения изменяется от 0 до 1 — это и есть расчетное значение уравнения регрессии. Будем называть его рейтингом.

Для понимания сути ошибок I и II рода рассмотрим четырехпольную таблицу сопряженности (confusion matrix), которая строится на основе результатов классификации моделью и фактической (объективной) принадлежностью примеров к классам.

МодельФактически положительноФактически отрицательно
ПоложительноTPFP
ОтрицательноFNTN

Что является положительным событием, а что — отрицательным, зависит от конкретной задачи. Например, если мы прогнозируем вероятность наличия заболевания, то положительным исходом будет класс «Больной пациент», отрицательным — «Здоровый пациент». И наоборот, если мы хотим определить вероятность того, что человек здоров, то положительным исходом будет класс «Здоровый пациент», и так далее.

При анализе чаще оперируют не абсолютными показателями, а относительными — долями (rates), выраженными в процентах:

Введем еще два определения: чувствительность и специфичность модели. Ими определяется объективная ценность любого бинарного классификатора.

Чувствительность (Sensitivity) — это и есть доля истинно положительных случаев:

Специфичность (Specificity) — доля истинно отрицательных случаев, которые были правильно идентифицированы моделью:

Заметим, что FPR=100-Sp

Попытаемся разобраться в этих определениях.

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

ROC-кривая получается следующим образом:

Канонический алгоритм построения ROC-кривой

В результате вырисовывается некоторая кривая (рис. 3).

Roc auc метрика что показывает. roc curve 1. Roc auc метрика что показывает фото. Roc auc метрика что показывает-roc curve 1. картинка Roc auc метрика что показывает. картинка roc curve 1

Для идеального классификатора график ROC-кривой проходит через верхний левый угол, где доля истинно положительных случаев составляет 100% или 1,0 (идеальная чувствительность), а доля ложно положительных примеров равна нулю. Поэтому чем ближе кривая к верхнему левому углу, тем выше предсказательная способность модели. Наоборот, чем меньше изгиб кривой и чем ближе она расположена к диагональной прямой, тем менее эффективна модель. Диагональная линия соответствует «бесполезному» классификатору, т.е. полной неразличимости двух классов.

При визуальной оценке ROC-кривых расположение их относительно друг друга указывает на их сравнительную эффективность. Кривая, расположенная выше и левее, свидетельствует о большей предсказательной способности модели. Так, на рис. 4 две ROC-кривые совмещены на одном графике. Видно, что модель «A» лучше.

Roc auc метрика что показывает. roc comparison 1. Roc auc метрика что показывает фото. Roc auc метрика что показывает-roc comparison 1. картинка Roc auc метрика что показывает. картинка roc comparison 1

Рис. 4 — Сравнение ROC-кривых

Визуальное сравнение кривых ROC не всегда позволяет выявить наиболее эффективную модель. Своеобразным методом сравнения ROC-кривых является оценка площади под кривыми. Теоретически она изменяется от 0 до 1,0, но, поскольку модель всегда характеризуются кривой, расположенной выше положительной диагонали, то обычно говорят об изменениях от 0,5 («бесполезный» классификатор) до 1,0 («идеальная» модель).

Эта оценка может быть получена непосредственно вычислением площади под многогранником, ограниченным справа и снизу осями координат и слева вверху — экспериментально полученными точками (рис. 5). Численный показатель площади под кривой называется AUC (Area Under Curve). Вычислить его можно, например, с помощью численного метода трапеций:

AUC = \int f(x)\,dx = \sum_i \Bigl[ \frac\,+\,X_i><2>\Bigr]\,\cdot \,(Y_\,-\, Y_i)

Roc auc метрика что показывает. roc area 1. Roc auc метрика что показывает фото. Roc auc метрика что показывает-roc area 1. картинка Roc auc метрика что показывает. картинка roc area 1

Рис. 5 — Площадь под ROC-кривой

Интервал AUCКачество модели
0,9-1,0Отличное
0,8-0,9Очень хорошее
0,7-0,8Хорошее
0,6-0,7Среднее
0,5-0,6Неудовлетворительное

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

Второе значение порога обычно предлагается пользователю по умолчанию. В третьем случае порог есть точка пересечения двух кривых, когда по оси X откладывается порог отсечения, а по оси Y — чувствительность или специфичность модели (рис. 6).

Roc auc метрика что показывает. pic6 balance point. Roc auc метрика что показывает фото. Roc auc метрика что показывает-pic6 balance point. картинка Roc auc метрика что показывает. картинка pic6 balance point

Рис. 6 — «Точка баланса» между чувствительностью и специфичностью

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

Источник

Добавить комментарий

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