F1-мера (F1-score) — это единая метрика, которая объединяет Precision и Recall в одно число. Она является гармоническим средним (harmonic mean) между точностью и полнотой.
Проще говоря:
F1-мера отвечает на вопрос: “Как найти баланс между тем, чтобы не кричать “волк!” напрасно (Precision), и тем, чтобы не пропустить настоящего волка (Recall)?”
Зачем нужна F1-мера?
Как мы уже видели, между Precision и Recall существует компромисс (trade-off):
- Можно максимизировать Precision, но тогда мы будем пропускать много реальных целей (низкий Recall).
- Можно максимизировать Recall, но тогда мы будем часто ошибаться и поднимать ложную тревогу (низкий Precision).
F1-мера позволяет оценить модель одним числом, учитывающим оба типа ошибок одновременно.
Формула
F1-мера вычисляется по формуле:
F1 = 2 × (Precision × Recall) / (Precision + Recall)
Эту формулу можно также представить через элементы матрицы ошибок:
F1 = (2 × TP) / (2 × TP + FP + FN)
где:
- TP — True Positive
- FP — False Positive
- FN — False Negative
Почему именно гармоническое среднее?
Гармоническое среднее сильнее “наказывает” за экстремальные значения, чем простое среднее арифметическое.
Пример: Допустим, у нас есть модель с:
- Precision = 1.0 (идеальная точность)
- Recall = 0.0 (ничего не находит)
Среднее арифметическое: (1.0 + 0.0) / 2 = 0.5 F1-мера (гармоническое): 2 × (1.0 × 0.0) / (1.0 + 0.0) = 0
F1-мера равна 0, что гораздо лучше отражает реальную бесполезность такой модели, чем среднее арифметическое 0.5.
Пример расчета
Вернемся к нашему примеру с антивирусом:
- True Positive (TP): 45 (верно найденные вирусы)
- False Positive (FP): 5 (ложные срабатывания)
- False Negative (FN): 7 (пропущенные вирусы)
Рассчитаем:
-
Precision = TP / (TP + FP) = 45 / (45 + 5) = 45 / 50 = 0.9
-
Recall = TP / (TP + FN) = 45 / (45 + 7) = 45 / 52 ≈ 0.865
-
F1-мера = 2 × (0.9 × 0.865) / (0.9 + 0.865) ≈ 2 × (0.7785) / (1.765) ≈ 1.557 / 1.765 ≈ 0.882
F1-мера ≈ 0.88 (или 88%)
Интерпретация F1-меры
- F1 = 1.0: Идеальная модель. Precision и Recall равны 1. Все предсказания правильные, и ничего не пропущено.
- F1 близка к 0: Худшая модель. Либо Precision, либо Recall близок к нулю.
- Высокий F1: Хороший баланс между Precision и Recall. Модель редко ошибается в положительных прогнозах и при этом находит большую часть реальных положительных случаев.
Когда использовать F1-меру?
F1-мера особенно полезна в двух основных сценариях:
1. Несбалансированные данные
Когда один класс значительно преобладает над другим (например, 99% транзакций легальные, 1% — мошеннические). Accuracy в этом случае бесполезна, а F1 дает адекватную оценку.
2. Когда важен баланс между FP и FN
Когда нет четкого приоритета между Precision и Recall, и нужно учесть оба типа ошибок.
Классические примеры:
- Классификация спама: Плохо и пометить важное письмо как спам (FP), и пропустить спам в inbox (FN). Нужен баланс.
- Медицинская диагностика (для скрининга): Плохо и напугать здорового человека (FP), и пропустить болезнь у больного (FN).
- Поисковые системы: Плохо и показывать нерелевантные результаты (FP), и не показывать релевантные (FN).
Ограничения F1-меры
- Симметричность: F1-мера считает FP и FN одинаково важными. Если в вашей задаче одна ошибка критичнее другой (например, в онкодиагностике FN гораздо опаснее FP), то F1 может быть не лучшим выбором.
- Не учитывает True Negative (TN): Как и Precision с Recall, F1 фокусируется на качестве предсказания положительного класса.
Вариации: Fβ-мера
Если важен компромисс, но с приоритетом одной метрики над другой, используется обобщенная Fβ-мера, где параметр β определяет вес Recall относительно Precision.
- β > 1: Recall важнее Precision.
- β < 1: Precision важнее Recall.
- β = 1: Это обычная F1-мера (баланс).
Краткий итог
- F1-мера — это гармоническое среднее между Precision и Recall.
- Она позволяет одной цифрой оценить баланс между ложными срабатываниями и пропусками целей.
- Это ключевая метрика для задач с несбалансированными классами.
- Используйте ее, когда для вас одинаково важны качество положительных прогнозов и полнота охвата.