Узнайте о важности F1-меры в машинном обучении! Узнайте, как она балансирует между точностью и полнотой для оптимальной оценки модели.
F1-Score — это важный показатель эффективности в машинном обучении, который объединяет точность и полноту в одно гармоническое среднее. Он особенно полезен для оценки моделей классификации, в которых набор данных несбалансирован или в которых ложные срабатывания и ложные отказы имеют разную стоимость. В отличие от простой точности, которая может вводить в заблуждение, если один класс доминирует в наборе данных, F1-Score дает более сбалансированное представление о способности модели правильно идентифицировать релевантные экземпляры при минимальном количестве ошибок. Штрафуя экстремальные значения, он гарантирует, что высокий балл достигается только тогда, когда и точность, и полнота достаточно высоки, что делает его основным показателем в различных областях, от медицинской диагностики до поиска информации.
Во многих реальных сценариях простого знания процента правильных предсказаний (точности) недостаточно. Например , при обнаружении аномалий нормальные случаи значительно превосходят по количеству аномалии. Модель, которая предсказывает «нормальное» состояние для каждого ввода, может достигать 99% точности, но будет бесполезна для обнаружения реальных проблем. Показатель F1-Score решает эту проблему, уравновешивая два конкурирующих показателя:
Поскольку часто приходится идти на компромисс — повышение точности, как правило, снижает полноту, и наоборот — F1-Score выступает в качестве единого показателя для поиска оптимальной точки баланса. Это имеет решающее значение при настройке моделей с использованием оптимизации гиперпараметров для обеспечения надежной работы в различных условиях.
Полезность F1-Score распространяется на различные отрасли, в которых стоимость ошибок является значительной.
Современные фреймворки компьютерного зрения упрощают расчет этих метрик. При обучении моделей обнаружения объектов F1-Score автоматически вычисляется на этапе валидации. Ultralytics визуализирует эти метрики в виде графиков в реальном времени, позволяя пользователям видеть кривую F1-Score при различных порогах достоверности.
Вот как можно получить доступ к метрикам валидации, включая компоненты F1-Score, с помощью Python :
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")
Понимание того, чем F1-Score отличается от других критериев оценки, имеет важное значение для выбора подходящего инструмента для вашего проекта.
Если ваша модель страдает от низкого показателя F1-Score, можно воспользоваться несколькими стратегиями. Увеличение объема данных может повысить разнообразие положительных примеров, помогая модели лучше обобщать. Использование переноса обучения из надежных базовых моделей позволяет сети использовать заранее выученные функции. Кроме того, настройка порога достоверности во время вывода может вручную изменить баланс между точностью и воспроизводимостью, чтобы максимизировать показатель F1-Score для вашего конкретного случая использования.