alterna ai
ALTERNA AI / ГЛАВА 06 · 04

06.4 Как сравнивать ошибки разных типов

На предыдущей странице: знакомые точки и новые данные.

Общая доля верных ответов не рассказывает, какие ошибки сделаны. Разделим ложные срабатывания и пропуски.

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

Какая именно ошибка нам дорога?

TP — положительные примеры, признанные положительными; FP — отрицательные, признанные положительными; FN — пропущенные положительные; TN — правильно распознанные отрицательные. Сначала фиксируем positive class, затем считаем метрики.

accuracy=TP+TNN,precision=TPTP+FP,recall=TPTP+FN,FPR=FPFP+TN.\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}.

При 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 Академическая база →