Ответ
Precision и recall — метрики для оценки качества классификации, особенно полезные при дисбалансе классов.
Precision (точность) — доля правильно предсказанных положительных классов среди всех предсказанных положительных:
Precision = TP / (TP + FP)
Где:
- TP — true positive (верно предсказанные положительные)
- FP — false positive (ложные срабатывания)
Recall (полнота) — долсть верно предсказанных положительных классов среди всех реальных положительных:
Recall = TP / (TP + FN)
Где FN — false negative (пропущенные положительные).
Пример:
from sklearn.metrics import precision_score, recall_score
y_true = [1, 0, 1, 1, 0]
y_pred = [1, 1, 1, 0, 0]
precision = precision_score(y_true, y_pred) # 0.666 (2 TP / (2 TP + 1 FP))
recall = recall_score(y_true, y_pred) # 0.666 (2 TP / (2 TP + 1 FN))
Precision важен, когда критичны ложные срабатывания (например, спам), recall — когда важнее не пропускать положительные (например, диагностика болезней).