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

В нашем практическом примере мы будем использовать набор данных о раке груди, доступный через «sklearn». Мы предпринимаем следующие шаги при подготовке наших данных:

Затем мы перейдем к разделению наших данных и обучению модели двоичной классификации оценке.

Мы создадим таблицу с именемuation_table с фактическими и прогнозируемыми значениями.

Мы смотрим процент злокачественных и доброкачественных наблюдений.

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

Дисбаланс, с которым мы имеем дело, действительно составляет всего 65:35. Он немного разбалансирован, но особого беспокойства не вызывает. В следующей статье я покажу, как работать с сильно несбалансированными наборами данных.

Точность:

Доля правильно предсказанных наблюдений.

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

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

почему?

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

Пороги:

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

Результатом использования pred_proba () будет двумерный массив с двумя столбцами: вероятность того, что рак является доброкачественным, и вероятность того, что рак является злокачественным. В сумме они должны составлять 1. Чтобы проверить порядок столбцов в результирующем массиве, мы ищем метод clf.classes_.

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

Когда мы начинаем прогнозирование, используя вероятность наступления события, вместо того, чтобы смотреть на двоичное прогнозирование, у нас есть гибкость выбора порога вероятности в качестве точки отсечки между 0 и 1. Идеальная точка отсечки будет варьироваться в зависимости от постановки задачи. под рукой, и бизнес-потребности, которые модель пытается решить.

Например, если выгода от истинного положительного результата велика, а стоимость ложного положительного результата невысока, будет больше преимуществ от выбора нижней точки отсечки (пример 0,2, 0,3), чем от выбора высокой точки отсечки (пример 0,7 , 0,8).

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

ROC, AUC и Джини:

Кривая ROC отображает взаимосвязь между показателем истинных положительных результатов (точность) и показателем ложных положительных результатов (специфичность 1). Другими словами, мы сравниваем долю правильно предсказанных положительных наблюдений (TP / (FP + TP)) с долей ошибочно предсказанных отрицательных наблюдений (FP / (TN + FP)).

почему?

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

Если мы выберем порог 0,80, большее количество наблюдений будет предсказано отрицательным (предсказано 0 - предсказано, что рак доброкачественный). Это будет означать, что большая часть фактических отрицательных значений предсказывается правильно (потому что при этом пороге мы предсказываем, что большее количество наблюдений будет отрицательным). Это приводит к низкому FPR, поскольку доля ошибочно предсказанных фактических отрицательных значений (предсказанных как злокачественные / положительные / 1, но на самом деле доброкачественные / отрицательные / 0) становится ниже.

Точно так же, если мы выберем более низкий порог (пример 0,20), мы получим противоположный эффект. Более высокая доля наблюдений прогнозируется как положительные / злокачественные / 1, и, следовательно, у нас более высокий FPR (более высокая доля фактических отрицательных / доброкачественных / 0 наблюдений ошибочно прогнозируется как положительные / злокачественные / 1).

AUC - это площадь под кривой ROC. Чем выше площадь под кривой, тем точнее прогнозы. Среди преимуществ использования этой метрики мы находим:
- она ​​сопоставима по моделям с разными масштабами выборки (это говорит о пропорциях выборки);
- она ​​предлагает сравнение по моделям независимо от выбранного порогового значения.