Точность (Precision)
Точность пытается ответить на следующий вопрос:
Какая порция позитиных результатов была на самом деле правильной?
Точность определяется следующим образом:
Precision = TP / (TP + FP)
Следует отметить, что модель, которая не выдает ложно положительных результатов имеет точность равную 1.0.
Попробуем рассчитать точность для модели из предыдущего поста, которая анализирует опухоли:
- Истинно положительные (TP): 1
- Ложно положительные (FP): 1
- Ложно отрицательные (FN): 8
- Истинно отрицательные (TN): 90
Precision = TP / (TP + FP) = 1 / (1 + 1) = 0.5
Наша модель имеет точность 0.5 - другими словами, когда она прогнозирует, что опухоль злокачественная, это на самом деле верно только в 50% случаев.
Отзыв (Recall)
Отзыв пытается ответить на следующий вопрос:
Какая порция на самом деле позитивных примеров была определена правильно?
Математически, отзыв определяется следующим образом:
Recall = TP / (TP + FN)
Следует отметить, что модель, которая не выдает ложно отрицательных результатов имеет отзыв равный 1.0.
Попробуем рассчитать отзыв для модели, которая анализирует опухоли:
- Истинно положительные (TP): 1
- Ложно положительные (FP): 1
- Ложно отрицательные (FN): 8
- Истинно отрицательные (TN): 90
Recall= TP / (TP + FN) = 1 / (1 + 8) = 0.11
Наша модель имеет отзыв 0.11 - другими словами, она верно определяет только 11% всех злокачественных опухолей.
Точность и отзыв: перетягивание каната
Чтобы полностью оценить эффективность модели необходимо проверить и точность, и отзыв. К сожалению, точность и отзыв часто конфликтуют. Так при улучшении точности обычно уменьшается отзыв и наоборот. Это можно увидеть на следующем графике, который показывает 30 прогнозов, сделанных моделью классификации писем. Те что справа от классификационного порога - классифицированы как "спам", те что слева - классифицированы как "не спам".
Классифицирование электронных писем как "спам" или "не спам"
Попробуем рассчитать точность и отзыв, основываясь на результатах предыдущего графика:
- Истинно положительные (TP): 8
- Ложно положительные (FP): 2
- Ложно отрицательные (FN): 3
- Истинно отрицательные (TN): 17
Точность измеряет процент писем, отмеченных как спам, которые были правильно классифицированы - то есть, процент точек справа от линии порога, окрашенные зеленым цветом на предыдущем графике:
Precision = TP / (TP+FP) = 8 / (8+2) = 0.8
Отзыв измеряет процент на самом деле спам-писем, которые были правильно классифицированы - то есть, процент зеленых точек справа от линии порога на предыдущем графике:
Recall = TP / (TP+FN) = 8 / (8+3) = 0.73
Следующий график показывает эффект от увеличения классификационного порога:
Увеличенный классификационный порог
Количество ложно положительных результатов уменьшилось, но ложно отрицательных возросло. Как результат, точность увеличилась, а отзыв уменьшился:
- Истинно положительные (TP): 7
- Ложно положительные (FP): 1
- Ложно отрицательные (FN): 4
- Истинно отрицательные (TN): 18
Precision = TP / (TP+FP) = 7 / (7+2) = 0.88
Recall = TP / (TP+FN) = 7 / (7+4) = 0.64
Напротив, следующий график показывает эффект от уменьшения классификационного порога (по отношению к изначальному варианту):
Уменьшенный классификационный порог
Количество ложно положительных результатов возросло, а ложно отрицательных уменьшилось. Как результат, точность уменьшилась, а отзыв увеличился:
- Истинно положительные (TP): 9
- Ложно положительные (FP): 3
- Ложно отрицательные (FN): 2
- Истинно отрицательные (TN): 16
Precision = TP / (TP+FP) = 9 / (9+3) = 0.75
Recall = TP / (TP+FN) = 9 / (9+2) = 0.82
Были разработаны различные метрики, основывающиеся одновременно на точности и отзыве. Например, F1 счет.