Как ответить
Precision (точность) — это доля истинно положительных объектов среди всех объектов, которые модель отнесла к положительному классу. Формула:
Precision = TP / (TP + FP), где TP (True Positives) — верно предсказанные положительные примеры, FP (False Positives) — ложные срабатывания (отрицательные примеры, ошибочно принятые за положительные).Проще говоря, precision отвечает на вопрос: «Из всех предсказаний положительного класса сколько действительно верны?»
Пример из задачи классификации спама:
Пусть у нас 100 писем, из них 30 — реальный спам, 70 — не спам. Модель предсказала 25 писем как спам. Из этих 25 реально спамом оказались 20 (TP), а 5 были не спамом (FP). Тогда precision = 20 / (20 + 5) = 0.8 (80%). Это значит, что из 25 писем, помеченных как спам, 80% действительно спам, а 20% — ложные срабатывания.
Как вычисляется на практике: после обучения модели на тестовой выборке мы получаем матрицу ошибок (confusion matrix). Из неё берём TP и FP и подставляем в формулу. Если модель выдаёт вероятности, то precision зависит от порога классификации: чем выше порог, тем меньше FP, но может упасть recall.
Когда precision особенно важна: в задачах, где цена ложного срабатывания (FP) высока. Например, в медицинской диагностике: если модель ошибочно ставит диагноз «рак» здоровому человеку, это ведёт к ненужным стрессам и дополнительным обследованиям. В таких случаях стараются максимизировать precision, даже если recall немного страдает.
Для junior-разработчика важно понимать, что precision — это одна из базовых метрик бинарной классификации, и её нужно рассматривать в паре с recall (полнотой). Компромисс между ними описывает F1-мера.