Понимание того, какой показатель лучше всего подходит для вашей задачи классификации.
Почему точность не всегда предпочтительна при работе с несбалансированными наборами данных?
Общее заблуждение
При построении любой классификационной модели многие люди по умолчанию принимают точность в качестве метрики. Но это ошибка. Чтобы было понятнее, давайте попробуем понять, что такое точность
Точность: это мера правильно классифицированных результатов независимо от классов. Его также называют общим показателем успеха. Давайте возьмем пример бинарной классификации - обнаружение мошенничества с кредитными картами. Предположим, мы построили модель (назовем ее M1) со следующими результатами, где ДА = мошенничество и НЕТ = хорошие транзакции.
Точность указанной выше модели (M1) составляет 67,8%. Для расчета используется следующая формула.
Давайте теперь попробуем построить наивную модель без каких-либо сложных алгоритмов. Наша модель (M2) классифицирует все как хорошие транзакции. Матрица путаницы будет выглядеть примерно так:
Точность модели M2: 85,8%. Без каких-либо сложных алгоритмов мы могли бы повысить точность нашей модели. Разве это не здорово !!
Конечно, это неверно, не расчет, но выбранная метрика неверна. Мы не должны использовать точность в качестве метрики для этого набора данных. Но почему? Этот набор данных несбалансирован. В этом наборе данных фактические случаи мошенничества составляют только 14%, а остальные - это подлинные транзакции (86%).
Нам нужно выбрать правильную метрику, чтобы решить эту проблему. Давайте теперь посмотрим, какие показатели доступны для такого набора данных дисбаланса и для двоичной классификации.
Точность
Это также называется положительным прогнозируемым значением (PPV). Это можно представить как из положительно предсказанных значений, сколько релевантных (сколько на самом деле положительных)? Он рассчитывается по следующей формуле
Отзывать
Также называется Чувствительностью, Показателем совпадений или Показателем истинных положительных результатов. Мы можем рассматривать это как из фактических положительных случаев, сколько было обнаружено нашей моделью. Он рассчитывается по формуле ниже.
Какой выбрать
В зависимости от потребностей бизнеса в качестве показателя для оценки моделей можно использовать Точность, Напоминание или Точность. Давайте попробуем разобраться на некоторых примерах.
Пример 1: система рекомендаций, в которой продукт рекомендуется пользователю на основе его истории просмотров. Попробуем разобраться в терминах.
Экономическое обоснование: пользователь просматривает множество модных товаров, модель, чтобы порекомендовать другие подходящие товары для покупок.
TruePositives - товары, рекомендованные моделью, релевантны пользователю. Например. Подводка для глаз, красивое платье.
FalsePostives - товар рекомендован моделью, но пользователю он не понравился.
Например, Мобильный телефон или продуктовый магазин
FalseNegative - это промах. Это актуально для пользователя, и наша модель не рекомендовала его. Например. дизайнерская обувь
Какой показатель? Чтобы решить, что подходит для этого случая, нам нужно рассмотреть и ответить, что больше терпимо для пользователя? FalsePositve ИЛИ FalseNegative. В нашем случае я думаю, что пользователь может потерпеть отсутствие релевантного элемента по сравнению с просмотром нерелевантной рекомендации. Итак, более терпимый термин - FlaseNegative. В таких случаях рекомендуется использовать метрику Точность.
Пример 2. Вернемся к нашему первоначальному примеру обнаружения мошенничества с кредитными картами. Разберем термины в этом случае
Экономическое обоснование. Модель должна прогнозировать возможное мошенничество с кредитными картами во время транзакции на основе исторических данных.
TruePositives - транзакция определяется как мошенничество, и оказывается, что это так.
FalsePosities - транзакция определяется как мошенничество, но оказывается подлинной. Пользователю могут быть заданы дополнительные вопросы для подтверждения личности.
FalseNegative - промах. Мошенническая транзакция не обнаруживается моделью, и пользователь совершает мошенничество без каких-либо проблем.
Какой показатель? Как обсуждалось ранее, нам нужно увидеть в этом случае, что можно терпеть? Хорошая транзакция определяется как мошенничество, и пользователю следует терпеть больше вопросов по сравнению с отсутствием, чтобы поймать мошенническую транзакцию. Следовательно, FalsePostive терпим, и модель должна наказывать за FalseNegatives. Итак, в этом случае предлагаемая метрика будет Напомнить.
Резюме
В этой статье мы коснулись лишь нескольких показателей. Но есть и другие варианты, о которых стоит подумать. Следует иметь в виду, что не всегда одна метрика лучше всего подходит для решения реальной проблемы. Более того, для несбалансированного набора данных нам нужно быть особенно осторожными. Наиболее важно помнить об экономическом обосновании при определении правильной метрики для оценки и тестирования модели.