Назад к подготовке

Precision и recall на примере diagnostic test

Как определить precision и recall для binary classifier и чему они равны для diagnostic test из задачи с rare disease?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Recall = TP / (TP + FN), precision = TP / (TP + FP). Для теста recall равен sensitivity, а precision равен posterior P(disease | positive).

Полный разбор

Recall отвечает на вопрос: какую долю реально positive объектов модель нашла. Формула: TP / (TP + FN). В диагностическом тесте, если sensitivity 95%, recall по sick class равен 95%.

Precision отвечает на вопрос: какая доля predicted positive действительно positive. Формула: TP / (TP + FP). Для rare disease это не 95%, а P(disease | positive), который считается через Bayes theorem. При prevalence 1%, sensitivity 95% и false positive rate 5% precision около 16.1%.

Это хороший пример, почему accuracy/sensitivity без base rate плохо описывает качество теста. При редком positive class даже сильный recall может сочетаться с низким precision, если false positives среди majority class многочисленны.

Теория

Precision sensitive к class imbalance и base rate; recall sensitive к false negatives. Их нельзя заменять accuracy без понимания стоимости ошибок.

Типичные ошибки

  • Называть precision и recall взаимозаменяемыми.
  • Считать precision равным sensitivity.
  • Игнорировать prevalence при интерпретации positive result.

Как отвечать на собеседовании

  • Свяжи recall с больными людьми, а precision с людьми, которым тест сказал positive.
  • Скажи, что для rare class precision часто сильно падает из-за false positives.