Наверное, ни для кого, кто был в классе вместе с другими учениками, не секрет, что предпочтительные учебные процессы и скорость сильно различаются; практически индивидуально. Мой особый лайфхак в обучении состоит в том, чтобы разные люди объясняли одну и ту же трудную для понимания концепцию. Обычно это означает, что после лекции нужно провести некоторое время на YouTube. Я разделяю это, потому что тема, о которой я собираюсь поговорить в этом посте, широко обсуждается и освещается. Я реалистично отношусь к тому, что я просто еще один человек, освещающий материал, но, надеюсь, я делаю это так, чтобы это было полезно для вашего обучения.

При этом давайте поговорим об оценке модели и кривой ROC AUC!

Чтобы проиллюстрировать разницу, я буду ссылаться на два выдуманных сценария:

1. Врач анализирует результаты анализов относительно состояния пациента.

2. Сотрудник отдела по борьбе с мошенничеством пытается обнаружить мошеннические транзакции.

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

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

Введите матрицу неточностей:

Этот простой макет позволяет нам глубже разбираться в значении наших результатов. Он работает, заполняя значения по мере их соответствия: предсказала ли модель «да», а фактические данные показывают «да»? Большой! Это значение помещается в поле «Истинный позитив». Прогнозировала ли ваша модель «нет», а фактические данные отличаются и читаются «да»? Печально, но это значение попадает в поле «Ложноотрицательные».

В этом контексте точность - это правильно спрогнозированные записи (ваши истинные положительные и истинные отрицательные результаты), разделенные на все предсказанные записи. Сразу видно, как мы упускаем из виду большую часть интерпретации результатов, поскольку мы учитываем только 2 поля из 4.

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

ROC AUC

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

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

- Вертикальная ось отображает график истинных положительных результатов (TPR), или соотношение между истинными положительными результатами и всеми записанными положительными результатами, в сравнении с;

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

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

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

Область под кривой дает более полное представление о производительности вашей модели по сравнению с показателем точности. Они представлены в виде дроби от 1, минимум 0,5. Почему минимум ненулевой? Что ж, это означает, что модель лучше справляется с предсказанием другого класса; поэтому уместно поменять классы. Сравнение этой метрики модели, пожалуй, лучший способ сравнить одну модель с другой.

В модели логистической регрессии ваши прогнозы будут представлены в виде доли от 1. Построив взаимосвязь этих вероятностей (в python: используя .predict_proba в вашей модели), вы получите кривую ROC вашей собственной модели.

Удачи и приятных оценок!