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

Проблемы классификации

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

В рамках этой статьи мы в основном сосредоточимся на бинарной классификации, в которой вывод равен 0 или 1.

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

Показатели оценки

Мы разделим показатели оценки на две категории в зависимости от того, когда их использовать.

  • Метрики оценки, когда набор данных сбалансирован.
  • Метрики оценки, когда набор данных несбалансирован.

Несбалансированный набор данных

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

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

Точность. Точность модели рассчитывается по следующей формуле:

Теперь предположим, что наша модель предсказывает все результаты как доброкачественную опухоль, теперь по приведенной выше формуле наша точность составляет 90% (подумайте об этом!). Мы ясно видим, что наша модель не смогла предсказать злокачественную опухоль. А теперь представьте, насколько большой была бы катастрофа, если бы вы использовали модель в реальном сценарии.

Обучение.Точность как показатель оценки следует использовать только тогда, когда наш набор данных сбалансирован.

Показатели оценки несбалансированного набора данных

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

Определения, связанные с матрицей путаницы

  • TP:Истинно положительные — это те примеры, которые на самом деле были положительными и были предсказаны как положительные. Например. Фактическим результатом была доброкачественная опухоль (положительная опухоль), и модель также предсказывала доброкачественную опухоль.
  • FP:Ложные срабатывания, также известные как Ошибка 1-го типа, — это те примеры, которые на самом деле были отрицательными, но наша модель предсказала их как положительные. Например. Фактическим результатом была злокачественная опухоль (отрицательный класс), но наша модель предсказывала доброкачественную опухоль.
  • FN:Ложноотрицательные результаты, также известные как ошибка 2-го типа, — это те примеры, которые на самом деле были положительными, но наша модель предсказывала их как отрицательные. Например. Фактическим результатом была доброкачественная опухоль (положительный класс), но наша модель предсказывала ее как злокачественную опухоль.
  • TN:Истинно отрицательные — это те примеры, которые на самом деле были отрицательными, и наша модель предсказала их как отрицательные. Например. Фактическим результатом была злокачественная опухоль (отрицательный класс), и наша модель также предсказала ее как злокачественную опухоль.

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

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

Точность и полнота

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

Точность. Точность модели определяется по следующей формуле:

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

Отзыв.Отзыв модели определяется по следующей формуле

Отзыв можно определить как «из общего числа фактических положительных значений, сколько из них было фактически предсказано положительным».

Немножко запутался?

Мне потребовалось некоторое время, чтобы уложить это определение в голове. Но не волнуйтесь, мы поймем это на примере.

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

Мышление……………………..

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

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

Мышление……………………..

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

Задание для вас

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

F1-Оценка

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

F1-Score для спасения

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

Мы используем гармоническое среднее вместо простого среднего, потому что оно наказывает экстремальные значения. Классификатор с точностью 1,0 и отзывом 0,0 имеет простое среднее значение 0,5, но показатель F1 равен 0.

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

Время выполнения домашних заданий

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

Удачного обучения!!!