В этой статье мы обсудим следующие вопросы и попытаемся найти на них ответ.

  • Что означает тема статьи?
  • Что такое матрица путаницы?
  • Что такое точность, точность и полнота?
  • Что такое F1-счет?
  • Что означают ROC и AOC?
  • Как реализовать эти вещи в python?

Что означает тема статьи?

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

Что такое матрица путаницы?

Это матрица, которая используется для оценки производительности любого классификатора. Другими словами, матрица путаницы визуализирует и суммирует производительность алгоритма классификации. Возьмем простую бинарную классификацию, тогда матрица путаницы будет выглядеть как на картинке ниже.

Истинно положительный (TP): результат, который был предсказан моделью классификации как положительный и также является положительным.

Истинно отрицательный (TN): результат, который был предсказан моделью классификации как отрицательный и также является отрицательным.

Ложноположительный результат (FP): результат, который был предсказан моделью классификации как положительный, но на самом деле отрицательный.

Ложноотрицательный (FN): результат, который был предсказан моделью классификации как отрицательный, но на самом деле является положительным.

Что такоеточность,точность и полнота?

Точность:

Можно сказать, что точность определяется как общее количество правильных классификаций, деленное на общее количество классификаций.

Точность:

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

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

Отзывать:

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

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

Компромисс между точностью и отзывом

Точность и полнота показывают странную взаимосвязь между ними, как будто вы хотите добиться точности, тогда полнота модели упадет, и наоборот. Давайте на примере представим сценарий, в котором требовалось, чтобы модель вспомнила всех неплательщиков, не вернувших кредит. Предположим, что таких неплательщиков было 10, и если вспомнить этих 10 неплательщиков, модель дала вам 20 результатов, из которых только 10 являются фактическими неплательщиками. Теперь полнота модели составляет 100%, но точность снижается до 50%.

мы можем наблюдать это поведение на графике ниже.

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

Что такое F1-счет?

ясно, что нам нужна метрика, которая учитывает как Precision, так и Recall для оценки модели. Одним из таких показателей является оценка F1. Оценка F1 определяется как среднее гармоническое Точности и отзыва.

Что означают ROC и AOC?

Прежде чем мы перейдем к пониманию ROC и AOC. сначала мы понимаем, зачем они нам нужны. Итак, если мы наблюдаем, что большинство моделей классификации дает нам вероятность класса, она не дает жесткого значения, такого как 0 и 1. Возникает понятие порога. Установлен порог, любое значение вероятности ниже порога является отрицательным исходом, а все, что превышает порог, является благоприятным или положительным исходом.

Теперь вопрос в том, каким должен быть идеальный порог? Чтобы ответить на этот вопрос, давайте разберемся с РПЦ.

Кривая ROC (рабочая характеристика приемника)

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

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

AOC (площадь под кривой)

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

Как реализовать эти вещи в python?

Теперь, когда мы изучили все теоретические вещи, давайте запачкаем руки, написав несколько кодов.

Импорт необходимых модулей и пакетов из python.

загрузка игрушечного набора данных из sklearn.

Теперь разбейте тест на обучение, поскольку мы сосредоточены на точности, счете F1 и т. Д. Таким образом, мы не выполняем предварительную обработку или выполнение EDA для набора данных.

Обучение и прогнозирование данных.

Теперь мы оценим производительность вашего классификатора.

Точность:

Точность и отзыв:

F1-Оценка:

ссылка на блокнот, использованный в этой статье:



Ставьте лайк и делитесь, если статья оказалась вам полезной. Кроме того, подпишитесь на меня на Medium, чтобы узнать больше о машинном обучении и глубоком обучении.