Что такое модель precision и recall?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Precision и Recall: Метрики оценки качества моделей
Основные определения
Precision (Точность) — доля правильно предсказанных положительных результатов от всех предсказанных моделью положительных результатов.
Recall (Полнота) — доля правильно предсказанных положительных результатов от всех действительно положительных результатов в данных.
Формулы
Precision = TP / (TP + FP)
Recall = TP / (TP + FN)
Где:
- TP (True Positive) — верно предсказанные положительные примеры
- FP (False Positive) — ложно предсказанные положительные примеры (ошибки)
- FN (False Negative) — пропущенные положительные примеры
- TN (True Negative) — верно предсказанные отрицательные примеры
Пример на конкретных числах
Модель определяет спам в 1000 писем:
- Предсказала 150 писем как спам
- На самом деле спама 120 писем
- Из 150 предсказанных как спам — 100 действительно спам, 50 — ложно положительные
- Модель пропустила 20 спам-писем (false negatives)
Precision = 100 / (100 + 50) = 100/150 = 0.67 (67%)
Recall = 100 / (100 + 20) = 100/120 = 0.83 (83%)
Интерпретация
Precision (67%) = когда модель говорит "спам", она права в 67% случаев.
Recall (83%) = модель находит 83% всех реальных спам-писем, но 17% пропускает.
Когда какая метрика важна?
Высокий Precision критичен, когда:
- Ложные срабатывания дорогие (блокировка легитимного контента)
- Email-фильтр должен избежать блокировки важных писем
- Система обнаружения мошенничества (меньше ложных блокировок платежей)
- Модерация контента (избегать удаления легитимного контента)
Высокий Recall критичен, когда:
- Пропуски опасны (медицина — пропустить болезнь)
- Безопасность (обнаружить все угрозы)
- Спам-фильтр (найти всё опасное, даже с риском ложного срабатывания)
- Поиск по товарам (не потерять релевантные результаты)
Компромисс Precision-Recall
Обычно при увеличении одной метрики вторая падает. Это зависит от порога классификации:
import numpy as np
from sklearn.metrics import precision_recall_curve, f1_score
# Снизить порог класса → больше положительных предсказаний
# → растет Recall, падает Precision
# Повысить порог → меньше положительных предсказаний
# → растет Precision, падает Recall
F1-Score: Объединённая метрика
Рассчитывает гармоническое среднее precision и recall:
F1 = 2 * (Precision * Recall) / (Precision + Recall)
F1 полезен, когда нужно сбалансированное решение и классы несбалансированы.
Применение для Product Analyst
Сценарий 1: Рекомендательная система
- High Precision важна: не рекомендовать пользователям плохие товары
- F1-Score для баланса между привлечением и релевантностью
Сценарий 2: Обнаружение чёрных лебедей (fraud detection)
- High Recall критичен: найти максимум аномалий
- Приемлем низкий Precision (некие false alarms)
Сценарий 3: Категоризация контента
- Баланс обеих метрик
- Используй ROC-AUC или PR-AUC кривые
Conclusion
Precision и Recall — два стороны одной медали точности модели. Выбор метрики зависит от бизнес-контекста и стоимости ошибок первого и второго типа.