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.