Статья Автор: Деникина Н.В., Деникин А.В.

F1-мера: золотая середина

Иногда нужен баланс между Precision и Recall. Для этого придумали F1-меру (F1-score).

Формула:

F1 = 2 × (Precision × Recall) / (Precision + Recall)

Это гармоническое среднее Precision и Recall.

Почему не обычное среднее?

Обычное среднее:

(Precision + Recall) / 2

Проблема: если одна метрика очень низкая, а другая высокая, среднее будет средним 😄
 

Пример "плохой" модели:
  • Precision = 90%
  • Recall = 10%
  • Обычное среднее = (90 + 10) / 2 = 50% — вроде неплохо?

Но это плохая модель! Она находит только 10% нужных объектов!
 

F1-мера честнее

F1 = 2 × (0.9 × 0.1) / (0.9 + 0.1) = 2 × 0.09 / 1.0 = 0.18 = 18%

F1 показывает, что модель плохая!
 

Свойства F1

  1. F1 = 1 (100%) — идеальная модель (Precision = Recall = 100%)
  2. F1 = 0 (0%) — ужасная модель (хоть одна метрика = 0)
  3. F1 учитывает обе метрики справедливо — если одна низкая, F1 тоже будет низкой
  4. F1 используют для сравнения моделей — у кого F1 выше, та модель в среднем лучше

 

Пример

Модель для детекции спама:

  • TP = 80 писем
  • FP = 20 писем
  • FN = 10 писем
Precision = 80 / (80 + 20) = 80 / 100 = 0.8 = 80%
Recall = 80 / (80 + 10) = 80 / 90 = 0.889 = 88.9%

F1 = 2 × (0.8 × 0.889) / (0.8 + 0.889)
F1 = 2 × 0.711 / 1.689
F1 = 1.422 / 1.689 = 0.842 = 84.2%

Вывод: F1 = 84.2% показывает хороший баланс между точностью и полнотой.

Печать