Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

F1-Score

F1-мера — это среднее гармоническое точности и полноты, поэтому она остаётся низкой, если хотя бы одна из них невысока. Формула, F-бета, макро- и микро-F1, применение в детекции.

F1-score — это единая метрика, объединяющая точность и полноту как их среднее гармоническое: F1 = 2 × точность × полнота / (точность + полнота). Значение находится в диапазоне от 0 до 1 и достигает 1 только тогда, когда у модели нет ни ложноположительных, ни ложноотрицательных результатов. Среднее гармоническое смещается к меньшему из своих значений, поэтому F1 остаётся низким, если точность или полнота низкая. Это делает F1 стандартной сводной метрикой для задач с несбалансированными классами, таких как обнаружение дефектов, выявление мошенничества и поиск по документам, где accuracy вводит в заблуждение. F1-score также называют сбалансированной F-мерой или F-мерой, а для двоичных пиксельных масок это та же величина, что и коэффициент Dice.

Как рассчитывается F1-score#

Если выразить метрику через количество элементов в матрице ошибок, получится F1 = 2TP / (2TP + FP + FN). Истинноотрицательные результаты в формулу не входят, поэтому F1 измеряет только то, насколько хорошо модель работает с положительным классом. Это подходит для задач, где положительные примеры редки, а отрицательные не так важны; если же истинноотрицательные результаты имеют значение, коэффициент корреляции Мэтьюса или сбалансированная точность учитывают все четыре ячейки. Именно среднее гармоническое отличает F1 от обычного среднего: у модели с точностью 1,0 и полнотой 0,1 арифметическое среднее равно 0,55, а F1 — 0,18.

F-бета и усреднение для нескольких классов#

В F1 точность и полнота имеют одинаковый вес. Общая F-бета-мера учитывает полноту в β раз сильнее, чем точность: F2 отдаёт предпочтение полноте, например при медицинском скрининге, где пропуск дорого обходится, а F0.5 — точности, например при фильтрации спама, где дорого обходится ложное срабатывание.

Если классов больше двух, F1 вычисляется для каждого класса, а затем усредняется:

  • Макро-F1: невзвешенное среднее оценок по классам, при котором редкий класс имеет такой же вес, как и распространённый.
  • Взвешенный F1: среднее оценок по классам, взвешенное по числу истинных примеров каждого класса.
  • Микро-F1: единая оценка F1, рассчитанная по TP, FP и FN, объединённым для всех классов. В задачах многоклассовой классификации с одной меткой она равна accuracy.
from sklearn.metrics import f1_score

# Imbalanced inspection labels: 8 good parts, 2 defective parts
y_true = ["ok"] * 8 + ["defect"] * 2
y_pred = ["ok"] * 7 + ["defect"] + ["defect", "ok"]

# F1 for each class, then two ways to average them
per_class = f1_score(y_true, y_pred, labels=["ok", "defect"], average=None)
print(f"F1 ok: {per_class[0]:.3f}, F1 defect: {per_class[1]:.3f}")
print(f"Macro F1: {f1_score(y_true, y_pred, average='macro'):.3f}")
print(f"Micro F1: {f1_score(y_true, y_pred, average='micro'):.3f}")

Скрипт выводит F1, равный 0,875 для годных деталей и 0,500 для дефектов, макро-F1 0,688 и микро-F1 0,800. Модель правильно классифицирует 8 из 10 деталей, поэтому микро-F1 равен её accuracy 0,80, а макро-F1 ниже, поскольку слабый класс дефектов имеет такой же вес, как и преобладающий класс.

F1 в обнаружении объектов#

Детектор имеет показатели точности и полноты для каждого порога уверенности, поэтому для зависимости F1 от уверенности можно построить кривую F1. Пик кривой показывает порог уверенности, при котором лучше всего сбалансированы ложные детекции и пропущенные объекты. Именно в этой рабочей точке запускают развёрнутую модель. F1 дополняет среднюю точность по классам (mAP), которая позволяет ранжировать модели с учётом всех порогов. При валидации YOLO26 сохраняет эту кривую в BoxF1_curve.png и выводит точность, полноту и F1 для каждого класса при уровне уверенности, на котором достигается максимум среднего F1.

from ultralytics import YOLO

# Load a pretrained YOLO26 nano detector
model = YOLO("yolo26n.pt")

# Validation sweeps confidence thresholds and saves BoxF1_curve.png
metrics = model.val(data="coco8.yaml")

# Precision, recall, and F1 at the confidence where mean F1 peaks
print(f"Precision: {metrics.box.mp:.3f}")
print(f"Recall: {metrics.box.mr:.3f}")
print(f"Mean F1: {metrics.box.f1.mean():.3f}")

Средний F1 — это среднее значение F1 по классам, поэтому он может немного отличаться от среднего гармонического средней точности и средней полноты, приведённых выше.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения