Найти в Дзене
Властелин машин

Все метрики классификации в одном

Оглавление

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

Сначала перечислим их, а потом на примере рассчитаем вручную:

Полнота/чувствительность (Recall, True Positive Rate, Sensitivity) - отношение правильно определенных положительных случаев ко всем положительным (показывает какую часть положительных случаев модель правильно классифицирует).

Прецизионность (Precision) - отношение правильно определенных положительных наблюдений ко всем определенным как положительные.

f1​−score - отношение удвоенного произведения precision и recall к их сумме.

Специфичность (Specificity, True Negative Rate) - отношение правильно определенных отрицательных случаев ко всем отрицательным (показывает какую часть отрицательных случаев модель правильно классифицирует).

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

Точность (Accuracy) - отношение правильно классифицированных наблюдений ко всем.

Если в модели классификации присутствуют несколько классов, то ряд метрик (полнота, прецизионность, F1​−score, специфичность) вычисляются при фиксации одного класса как положительного, а остальных - как отрицательных. В то же время другие (macro avg, weighted avg, точность) характеризуют набор данных в целом.

Рассчитаем данные метрики для классов цветов ириса (setosa, versicolor, virginica) в соответствии с приведенной ниже матрицей неточностей:

Полнота

Для каждого из классов ориентируемся на строки:

setosa = первый элемент первой строки на сумму ее элементов (в этой строке - значения из класса setosa) = 11/11 = 1

versicolor = 12/13 = 0,923

virginica = 6/6 = 1

Прецизионность

setosa = первый элемент первого столбца на сумму его элементов (в этом столбце значения, определенные как setosa из разных классов) = 11/11 = 1

versicolor = 12/12 = 1

virginica = 6/7 = 0,857

f1-score

f1-score = 2*прецизионность*полнота/(прецизионность+полнота)

setosa = 2/2=1

versicolor = 2*0.92*1/(0.92+1) = 1.84/1.92 = 0,958

virginica = 2*1*0.857/(1+0.857) = 1.714/1.857 = 0.923

Специфичность

setosa = 19/19 = 1

versicolor = 17/17 = 1

virginica = 23/24 = 0.958

macro avg

Рассчитывает среднее метрических показателей для каждого класса, взвешивая их одинаково:

полнота = (1+0,923 +1)/3 = 0.974

прецизионность = (1+1+0,857)/3 = 0.952

f1-score = (1+0.958+0.923)/3 = 2.911/3 = 0.96

weighted avg

Рассчитывает среднее метрических оценок для каждого класса, взвеши­вая их пропорционально представительству в сведениях:

setosa - 11/30

versicolor - 13/30

virginica - 6/30

С учетом этого:

полнота = (1*11+0.923*13+1*6)/30 = (17+12)/30 = 0.966

прецизионность = (11+13+6*0.857)/30 = (24+5)/30 = 0.966

f1-score = (11+13*0.958+6*0.923)/30 = (11+12.45+5,54)/30 = 0.966

Точность

Подсчитываем общее количество правильно классифицированных наблюдений и делим его на количество всех - 29/30 = 0.966

-2