Alterna · учебный материал
06.4 Как сравнивать ошибки разных типов
Общая доля верных ответов не рассказывает, какие ошибки сделаны. Разделим ложные срабатывания и пропуски.
Что в этом материале
- Какая именно ошибка нам дорога?
Содержание и основные понятия
На предыдущей странице: знакомые точки и новые данные.
Общая доля верных ответов не рассказывает, какие ошибки сделаны. Разделим ложные срабатывания и пропуски.
Подбор прямой и разделение точек позволяют увидеть процесс обучения на простых данных. Проверочные ответы не участвуют в исправлениях.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Какая именно ошибка нам дорога?
TP — положительные примеры, признанные положительными; FP — отрицательные, признанные положительными; FN — пропущенные положительные; TN — правильно распознанные отрицательные. Сначала фиксируем positive class, затем считаем метрики.
a
c
c
u
r
a
c
y
=
T
P
+
T
N
N
,
p
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
,
r
e
c
a
l
l
=
T
P
T
P
+
F
N
,
F
P
R
=
F
P
F
P
+
T
N
.
\mathrm{accuracy}=\frac{TP+TN}{N},\quad
\mathrm{precision}=\frac{TP}{TP+FP},\quad
\mathrm{recall}=\frac{TP}{TP+FN},\quad
\mathrm{FPR}=\frac{FP}{FP+TN}.
accuracy
=
N
TP
+
TN
,
precision
=
TP
+
FP
TP
,
recall
=
TP
+
FN
TP
,
FPR
=
FP
+
TN
FP
.
При TP=2,FP=1,FN=1,TN=2 accuracy=2/3,precision=recall=2/3,FPR=1/3. Если модель вообще не предсказывает positive, denominator precision равен0. В нашей лаборатории результат «не определено», а не произвольно100%. Recall остаётся определённой, если реальные positives есть.
Эксперимент.
Увеличивайте threshold на одном неизменном наборе scores. Число positive predictions не возрастает; TP и FP могут падать ступенями. ROC рассматривает пары(FPR,TPR) при разных порогах, а одна confusion matrix соответствует одномуτ. Площадь под кривой не заменяет выбора рабочего порога и цены ошибок.
Легко ошибиться.
При99%negative постоянный negative classifier имеет99%accuracy и0recall positives. Высокая accuracy сама по себе не решает задачу. Precision зависит также от prevalence, что связано с Bayes из главы04. N01 задаёт task-specific performance; формулы здесь являются явными определениями по counts.
tp,fp,fn,tn=2,1,1,2
assert (tp+tn)/(tp+fp+fn+tn)==2/3
assert tp/(tp+fp)==2/3 and fp/(fp+tn)==1/3
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Знаменатель TP+FP равен0. Здесь показывается неопределённость.
Группы без готовых правильных ответов. Как этот вопрос продолжает полученный результат?
Python-примеры главы 06
Академическая база →