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

План этой статьи

  1. Мотивация
  2. Первое рассмотрение
  3. Должны знать меры точности для моделей машинного обучения
  4. Подход к использованию этих мер для выбора правильной модели машинного обучения для вашей проблемы

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

Мотивация

Попытайтесь убедить кого-нибудь в том, что ваша модель машинного обучения точна и ей следует доверять, потому что она имеет LogLoss 0,34. Специалисты, не занимающиеся данными, наверняка будут таращиться на вас, в то время как специалисты по данным потребуют гораздо больше информации.

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

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

И есть много критериев точности. Точнее, 21 по scikit-learn только для задач классификации. Итак, для 1 модели у вас будет 21 x 2 = 42 значения в наборах для обучения и проверки. Что, если вы попробуете 5 разных моделей, вы посмотрите на значения 5 x 42?

Вы видите, куда он идет:

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

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

Первое рассмотрение

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

Итак ... Перво-наперво:

  1. Сузьте свой набор инструментов до ключевых показателей, а затем
  2. Следуйте правильному подходу, чтобы использовать их надлежащим образом

9 обязательных критериев точности

4 основных меры

Точность, Точность, отзыв, Матрица неточностей. Они стандартные, вы их уже должны знать. Их легко понять, и вы должны поделиться ими с бизнес-командами.

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

4 промежуточные меры

Кривая точного отзыва: если вы измените пороговую вероятность вашей модели (обычно по умолчанию 0,5), точность и отзыв будут меняться в противоположном направлении. Чем выше порог, тем выше точность и ниже отзыв. Точно так же, чем ниже порог, тем ниже точность и выше отзыв. Цель состоит в том, чтобы определить порог с наилучшим балансом между точностью и отзывом.

Оценка F-1 (и оценка F-бета): если выбор порога с помощью кривой точности-отзыва является эмпирическим способом, использование F-оценки является математическим способом. Если для данной проблемы точность в 5 раз важнее, чем отзыв, то модель с наивысшим баллом F-5 (бета = 5) должна быть лучшей моделью для этой проблемы.
Оценка F-beta варьируется от 0 до 1, 1 - идеальная модель.

Кривая ROC: ROC - это аббревиатура от «Receiver Operating Characteristic», которая использовалась разработчиками радаров во время Второй мировой войны. Это определение устарело в машинном обучении. Кривая ROC - это просто способ визуализировать производительность модели. Если кривая ROC сильно смещена в левый верхний угол, это означает, что модель очень точна, а прямая диагональ означает, что модель не лучше, чем подбрасывание монеты.

AUC: сокращение от Area Under Curve, это в основном информация, содержащаяся из кривой ROC в одном положительном числе. AUC - это здорово, потому что это упрощает сравнение нескольких моделей: вы выберите тот, у которого самый высокий AUC. Однако интерпретировать значение AUC очень сложно. AUC 75% никоим образом не то же самое, что точность 75% (иногда я слышу это…).
Обычно хорошие значения AUC начинаются с 0,75, но, опять же, это зависит от проблемы, и просмотр абсолютных значений обычно бесполезен. Вы бы предпочли использовать его для сравнения моделей. Если AUC вашей модели составляет 0,57, это означает, что в ваших данных, скорее всего, нет сигнала.
AUC варьируется от 0,5 до 1, причем 1 - идеальная модель.

1 расширенная мера

LogLoss: сокращение от логарифмической потери, здесь более математическое и абстрактное понятие. Он присваивает вес каждой предсказанной вероятности. Чем дальше вероятность от фактического значения, тем больше вес. Цель состоит в том, чтобы минимизировать общую сумму всех весов ошибок. Обратите внимание, что вес резко увеличивается, если вероятность близка к 0, а фактическое значение равно 1 (то же самое с противоположными значениями 1 и 0). LogLoss распознает модели, которые слишком уверены в неверных прогнозах, и широко используется в машинном обучении, поскольку обладает полезными математическими свойствами. Проблема в том, что значение LogLoss невозможно интерпретировать.

Правильное использование этих мер

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

Или вы можете воспользоваться более простым подходом, который будет столь же эффективным. Подход в 3 шага:

  1. Попробуйте разные модели и оцените их с помощью LogLoss / AUC
  2. После определения наилучшей модели выберите оптимальный порог вероятности с помощью кривой точности-отзыва / оценки F / кривой ROC
  3. Интерпретируйте свои результаты и сообщайте о них с помощью Матрицы неточностей, точности и запоминания

Подробно,

  1. Попробуйте различные модели и оцените их с помощью LogLoss / AUC
    Во-первых, в машинном обучении нет бесплатного обеда. Вы никогда не узнаете заранее, какой алгоритм будет лучше всего работать с конкретным набором данных. Попробуйте разные модели, так у вас будет больше шансов найти лучшую модель для вашей проблемы.
    Затем используйте LogLoss и / или AUC, чтобы ранжировать их и определять лучших кандидатов. Почему? LogLoss и AUC - положительные числа, которые отлично подходят для сравнения моделей. На самом деле они просты, но в то же время в них встроено множество абстрактных математических концепций, которые гарантируют, что модели с лучшим LogLoss или лучшим AUC будут хорошими. Вот почему они широко используются на Kaggle.
    Конечно, не смотрите на LogLoss / AUC в обучающем наборе, смотрите на них на тестовом наборе (или, что еще лучше, при перекрестной проверке; и, пожалуйста, всегда сохраняйте задерживающий образец). Обратите внимание, что выбор лучшей модели с помощью LogLoss может привести к созданию более откалиброванных моделей, чем AUC (бумажный).
    _
    Пример: вы пробуете 5 разных моделей: XGBoost, RandomForest, SVM, Decision Tree , Регуляризованная логистическая регрессия. После тонкой настройки XGBoost имеет лучший AUC при 5-кратной перекрестной проверке. Вы выбираете XGBoost и переходите ко второму шагу.
  2. Выберите оптимальный порог вероятности с помощью кривой Precision-Recall / F-score / ROC
    . После определения лучшей модели (или 2–3 моделей-кандидатов) используйте кривую Precision-Recall (или F-оценка или кривая ROC), чтобы определить оптимальный порог вероятности для вашей модели. Это требует хорошего понимания того, как интерпретировать кривую Precision-Recall.
    _
    Пример. Глядя на кривую Precision-Recall, вы замечаете, что для Recall 20% ваша модель XGBoost достигает точности 90%. Однако при увеличении отзыва до 50% точность падает до 50%. Допустим, вы фокусируетесь на этой проблеме на высокой точности. Поэтому вы выбираете порог, который дает 90% точности, зная, что вы улавливаете только 20% положительных результатов в данных.
  3. Интерпретируйте свои результаты и сообщайте о них с помощью Матрицы путаницы, точности и отзыва
    И наконец, что важно для бизнеса. Сколько из 100 прогнозов, сделанных моделью, будут хорошими? С выбранным порогом, сколько случаев модель никогда не улавливает?… Бизнес может поставить рядом с ними числа и суммы в долларах и даже получить ожидаемую рентабельность инвестиций.
    _
    Пример: 90% точности означает, что из 10 прогнозируемых положительных случаев, которые делает модель, 9 из них верны. Скажем, для этой проблемы правильный положительный прогноз означает сэкономленные 1000 долларов, а один неверный прогноз означает сбережение 0 долларов. Для порога вероятности, выбранного на 2-м шаге (получение 20% отзыва и 90% точности), и на основе исторических данных вы оцениваете, что модель будет предсказывать в среднем 50 положительных случаев в месяц. Это означает
    50 x 90% x 12 мес. X 1000 долл. США = 540 тыс. Долл. США в год.
    Теперь это один из способов превратить машинное обучение в ценность для бизнеса 💸💸💸

Дополнительные примечания

  1. Если возможно, получите тест, не связанный с машинным обучением. Измерьте точность существующего механизма, основанного на правилах, суждения эксперта, наивной стратегии или простой статистической модели (логистическая регрессия…). Таким образом, вы можете количественно оценить добавленную стоимость машинного обучения (что иногда не обязательно лучше).
  2. Я соврал, когда сказал, что дело в точности. При выборе лучшей модели следует также учитывать, правильно ли модель усвоила и понимает, почему она предсказывает этот конкретный способ (с использованием таких инструментов, как важность функции, частичная зависимость, объяснение прогноза…). Иногда лучше выбрать не лучшую модель, но с меньшим количеством переменных, с меньшим количеством времени для оценки новых данных и с более простой производственной технологией.

Библиография