Оценка модели является одной из важнейших частей проектов по науке о данных. Именно благодаря оценке мы понимаем, как работает наша модель, и какие настройки необходимы для достижения желаемых результатов.
В случае классификации у нас есть наша целевая переменная (y) в дискретной форме, и, соответственно, эффективность нашей модели зависит от ее способности успешно предсказывать категории с учетом набора функций.
Давайте посмотрим, какие существуют различные термины, с помощью которых мы анализируем выходные данные модели классификации.
Истинно положительный:Истинно положительный — это количество положительных прогнозов, которые на самом деле являются положительными. TP для изображения выше будет 10.
Истинно отрицательный: это количество прогнозируемых отрицательных результатов, которые на самом деле являются отрицательными. TN для изображения выше будет 12.
Ложноположительный результат: прогнозируемый положительный результат, но на самом деле отрицательный. FP для изображения выше будет 1.
Ложноотрицательный:количество отрицательных прогнозов, которые на самом деле являются положительными. FN для изображения выше будет 2.
Scikit Learn по умолчанию сортирует ярлыки в порядке возрастания, таким образом, 0 – это первый столбец/строка, а 1 – второй.
«По определению матрица путаницы C такова, что Cᵢ,ⱼ равно количеству наблюдений, которые, как известно, находятся в группе i и, по прогнозам, находятся в группе j. Таким образом, в бинарной классификации количество истинно отрицательных результатов равно C₀,₀, ложноотрицательных — C₁,₀, истинно положительных — C₁,₁, а ложные срабатывания — C₀,₁».
Точность:Определяется как количество правильных прогнозов (TP + TN), деленное на общее количество прогнозов (TP + TN + FP + FN). Итак, точность = (TP + TN) / (TP + TN + FP + FN)
В нашем случае значение точности будет (10 + 12)/(10+12+1+2) = 88%.
Точность: это количество истинно положительных результатов (TP), деленное на общее количество прогнозов, помеченных как принадлежащие к положительному классу (TP + FP), т. е. точность = TP / (TP + ФП)
Точность для нашего примера будет 10/(10 + 1) = 90,9%.
Чувствительность. Также известна как отзыв , коэффициент истинных положительных результатов или коэффициент совпадений. Он означает долю положительных результатов (TP), которые были правильно идентифицированы, т. е. чувствительность = TP / (TP + FN).
значение чувствительности будет 10/(10 + 2) = 83,3%
Коэффициент ложноотрицательных результатов:это доля положительных случаев, ошибочно идентифицированных как отрицательные.Это общее количество положительных случаев, ошибочно идентифицированных как отрицательные (FN), разделенное на общее количество положительных случаев (TP + FN), FNR = FN / (TP + FN)
В нашем случае FNR = 2/(10+2) = 16,7%
FNR также известен как Miss Rate, Beta Error или Type 2 Error; а также может рассчитываться как 1-Sensitivity.
Специфичность. Также известна как процент истинно отрицательных результатов. Этодоля правильно идентифицированных отрицательных результатов, т. е. специфичность = TN / (TN + FP). >
Итак, специфичность = 12 / (12+1) = 92,3%
Коэффициент ложноположительных результатов: это доля отрицательных случаев, ошибочно идентифицированных как положительные. Это общее количество отрицательных случаев, ошибочно идентифицированных как положительные (FP), деленное на общее количество отрицательных случаев (FP + TN), FPR = FP / (FP + TN).
В нашем случае FPR = 1 / (1+12) = 7,7%
FPR также известен как Fall Out, Alpha Error или Type 1 Error; а также может быть рассчитан как 1-Specificity.
Оценка F1. Этомера точности модели в наборе данных, представляющая собой гармоническое среднее значение точности и полноты.
Значение для оценки F1 варьируется от 0 до 1, и чем ближе значение к 1, тем лучше модель.
Кривая ROC и AUC.Кривая ROC (рабочая характеристика приемника) представляет собой график, показывающий производительность модели классификации для всех пороговых значений классификации посредством графиков между TPR и FPR. Его можно использовать для понимания общей производительности моделей классификации и для выбора модели. На следующем графике представлена типичная кривая ROC.
Здесь диагональ показывает производительность случайного классификатора, т.е. случай неиспользования модели.
При снижении порога классификации большее количество элементов классифицируется как положительные, что увеличивает число истинно положительных и ложноположительных результатов. При увеличении порога классификации большее количество элементов классифицируется как отрицательные, что увеличивает число истинно отрицательных и ложноотрицательных результатов.
AUC («площадь под кривой») измеряет всю двумерную площадь под всей кривой ROC. Площадь под диагональной линией равна 0,5. Кривая ROC выражает изменение чувствительности и (1-специфичности) при изменении пороговой вероятности.
Поэтому, когда у нас есть несколько моделей, мы выбираем модель с большей площадью под кривой для ROC-кривой этой модели. Как правило, AUC более 0,7 считается приемлемым для применения.
"Мы должны быть осторожны при выборе моделей, использующих AUC, особенно если у нас несбалансированный набор данных"
Использованная литература:
Рис. 1: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.ConfusionMatrixDisplay.html
Рис. 3: https://en.wikipedia.org/wiki/Precision_and_recall#/media/File:Precisionrecall.svg
Рис. 4. Автор FeanDoe — модифицированная версия Walber's Precision and Recall https://commons.wikimedia.org/wiki/File:Precisionrecall.svg, CC BY-SA 4.0, «https://commons.wikimedia.org/ w/index.php?curid=94134880")
Рис. 6. Автор cmglee, MartinThoma — Roc-draft-xkcd-style.svg, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=109730045