Показатели оценки модели машинного обучения: точность, прецизионность, F1-оценка, AUC и т. д.

машинное обучение

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

1. Коэффициент ошибок и коэффициент точности

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

Частота ошибок — это отношение ошибочно предсказанных отсчетов к общему количеству отсчетов; показатель точности — это отношение правильно предсказанных отсчетов к общему количеству отсчетов; сумма этих двух значений равна 1.

Например: есть 80 положительных примеров и 20 отрицательных примеров в 100 реальных тестовых образцах, и все результаты предсказания модели являются положительными примерами Каковы показатели ошибок и точности модели?

Очевидно, что уровень ошибок в это время составляет 20/100 = 20%, а уровень точности составляет 1-20% = 80%.

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

На этом этапе мы должны перейти на следующий уровень.Для несбалансированных выборок классов или существуют более общие метрики для эффективной оценки модели.

2. Матрица путаницы, точность, отзыв

2.1 Матрица путаницы

Прежде чем представить показатель F1 и AUC, ROC, нам нужно придумать известную блок-схему матрицы путаницы (матрицы путаницы).

True Positive (TP): модель предсказывает правильное количество положительных примеров, то есть образец является положительным примером, а модель предсказывает положительный пример.

True Negative (TN): модель предсказывает правильное количество отрицательных примеров, то есть образец является отрицательным примером, а модель предсказывает отрицательный пример.

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

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

Например: 10 потенциальных новых носителей коронавируса, подлежащих тестированию, являются положительными (носителями) и 90 отрицательными (не переносчиками).Испытательное оборудование прогнозирует 8 положительных образцов и 2 отрицательных образца на 10 положительных образцов; 90 отрицательных образцов прогнозируются как 80 отрицательных. , 10 положительных

В этом примере мы можем рассчитать (обратите особое внимание, TP, TN, FP, FN все относятся к числам, а не к процентам):

TP = 8, TN = 80, FP = 10, FN = 2

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

 

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

Точность для результатов прогнозирования указывает долю выборок, которые прогнозируются как положительные и которые также являются положительными. То есть исходное предсказание положительной выборки также положительно, TP, исходное предсказание отрицательной выборки положительно, FP. Таким образом, точность = TP / (TP + FP). Результат расчета приведенного выше примера: 8/(8+10)=8/18.

Напомним, для реальных образцов указывает, какая часть исходных положительных образцов была предсказана правильно. То есть исходный прогноз положительной выборки также является положительным, TP; исходный прогноз положительной выборки отрицателен, FN, поэтому напомним = TP / (TP + FN)

Результат расчета приведенного выше примера: 8/(8+2)=8/10.

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

3. Оценка F1 / ROC / AUC и реализация кода

3.1 F1-score

Что такое F1-оценка, по сути, это оценка измерения, рассчитанная с учетом результатов точности и полноты. Математически F1-оценка представляет собой гармоническое среднее точности и отзыва F1-оценка = 2/(1/P+1/R) = 2PR/P+R

 

3.2 ROC-кривая

Матрица путаницы используется для построения кривой ROC (Рабочая характеристика приемника), Абсцисса кривой ROC - это истинная положительная скорость (FPR), а ордината - ложноположительная скорость (TPR), где FPR = TP / (TP+FN);TPR=FP/(FP+TN) Видно, что расчет FPR и отзыва одинаковы

Принимая TPR за горизонтальную ось, FPR за горизонтальную ось и TPR за вертикальную ось, можно нарисовать кривую ROC Затем, откуда берется каждая соответствующая координатная точка TPR и FPR? Мы знаем, что перед тем, как модель выдаст результат классификации, она сначала выводит вероятность класса, а затем классифицирует ее с порогом по умолчанию 0,5. Нам нужно только использовать каждое значение вероятности прогнозирования в качестве порога для получения нескольких наборов различных результатов прогнозирования и вычислять FPR и TPR в соответствии с каждым набором результатов прогнозирования, чтобы получить несколько наборов значений координат, тем самым рисуя кривую ROC.

 

3.3 AUC

AUC — это площадь под кривой ROC, представляющая собой числовое значение, которое можно рассчитать путем интегрирования по горизонтальной оси ROC. Его физический смысл состоит в том, что положительный образец и отрицательный образец даны случайным образом, вероятность предсказания положительного образца как положительного равна p1, вероятность предсказания отрицательного образца как положительного равна p2, а вероятность p1>p2 равна AUC, что показывает, что чем больше AUC, тем лучше эффект классификации модели. ACU может быть хорошей мерой эффективности классификации классификатора и широко используется в настоящее время.

 

3.4 Пример расчета индекса оценки с использованием sklearn

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

from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
X, y_true = load_breast_cancer(return_X_y=True)
clf = LogisticRegression(solver="liblinear", random_state=0).fit(X, y)
y_pred = clf.decision_function(X)

б. Рассчитать показатели

Accuracy

from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred) 

Точность, отзыв

from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
precision_score(y_true, y_pred)recall_score(y_true, y_pred)

f1-score, AUC

from sklearn.metrics import f1_score
from sklearn.metrics import roc_auc_score
f1_score(y_true, y_pred)
roc_auc_score(y_true, y_pred)