Руководство по определению того, успешна ли ваша модель в контексте ваших целей

Если вы новичок в машинном обучении и разработали модель классификации, поздравляем! Вы можете подумать: «Что теперь?»

Это отличный вопрос.

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

О какой классификации идет речь?

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

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

Сравнение вашей модели с базовой линией

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

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

Единственный способ сделать оценку моделей машинного обучения по-настоящему объективной — это сравнить разные модели на одном и том же наборе данных. И, подобно научному эксперименту, нам нужна «контрольная группа». Контрольная группа в эксперименте была бы там, где не было вмешательства, и результаты измерялись. Вот тут-то и появляется базовая модель.

Вы можете думать о базовой модели как о минимальном вмешательстве. В модели классификации вы просто угадываете, какой результат встречается чаще всего (то есть мода) — для каждого наблюдения. Так что... не очень хорошая модель. Но это полезная базовая линия, так что когда вы оцениваете свою модель, скажем, выявляющую мошенничество, вы можете сказать: «Эй, моя модель логистической регрессии работала на 40% лучше, чем если бы я случайным образом определял транзакции как мошеннические или нет!» (Это случайное назначение — линия «нет навыков» на кривой ROC, о которой я расскажу подробнее позже.)

Еще один способ установить базовый уровень — посмотреть, что в настоящее время делает ваш бизнес без машинного обучения. Будь то ручная проверка определенных критериев, использование формул (например, операторов if/then) или что-то еще — сравните вероятность успеха этого процесса с вашей моделью.

Определение мер успеха

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

Определение толерантности к риску

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

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

Например, если ваша модель предсказывает, болен человек или нет, вы очень не склонны к риску. Последствия, связанные с ложноотрицательным результатом — сообщением кому-то, что у него нет болезни, когда она действительно есть, — высоки.

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

Дисбаланс классов

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

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

Показатели производительности для классификации

Ниже приведены некоторые показатели, используемые для оценки модели классификации. Это не полный список, но он охватывает наиболее распространенные показатели:

Точность: точность модели — это отношение правильных прогнозов к общему количеству прогнозов.

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

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

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

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

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

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

  • Когда его использовать: когда вы хотите убедиться, что ваша модель превосходит модель без навыков, или вы хотите посмотреть на общую производительность модели.
  • Пример. На изображении ниже показана кривая AUC для неэффективной модели. Пунктирная линия изображает случайные догадки (модель без навыков) — так что для этой модели с AUC 0,54 она едва ли работает лучше, чем угадывание.

Оценка F1: оценка F1 измеряет производительность модели в положительном классе. Это гармоническое среднее точности и отзыва.

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

Переоснащение и недообучение

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

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

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

Заключение

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

Выражаем особую благодарность Минет Полсинелли, Марку Глиссманну и Нилу Райану. Эта статья изначально была опубликована на сайте community.alteryx.com.