← Назад к вопросам

Чему равна F-мера, если precision и recall равны 1

1.2 Junior🔥 281 комментариев
#Машинное обучение#Метрики и оценка моделей

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI29 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

F-мера при precision и recall равных 1

F-мера равна 1 когда precision и recall оба равны 1.

Формула F-меры

F-мера (F1-score) — это гармоническое среднее precision и recall:

$$F_1 = 2 \cdot \frac{precision \cdot recall}{precision + recall}$$

Или в более общем виде:

$$F_\beta = (1 + \beta^2) \cdot \frac{precision \cdot recall}{\beta^2 \cdot precision + recall}$$

где β = 1 для стандартной F1-меры.

Расчёт при precision = 1 и recall = 1

precision = 1
recall = 1

# Подстановка в формулу
F1 = 2 * (precision * recall) / (precision + recall)
F1 = 2 * (1 * 1) / (1 + 1)
F1 = 2 * 1 / 2
F1 = 1

Ответ: F1 = 1

Что это означает

Если precision = 1 и recall = 1, это значит:

  • Precision = 1: все положительные предсказания модели верны (нет ложных срабатываний)
  • Recall = 1: модель нашла все положительные случаи (нет пропусков)

Это идеальная ситуация — модель работает на 100% правильно:

# Матрица ошибок при идеальной классификации
True Positives (TP):  все положительные случаи найдены
False Positives (FP): 0
True Negatives (TN):  все отрицательные случаи правильно определены
False Negatives (FN): 0

# Расчёт метрик
precision = TP / (TP + FP) = TP / TP = 1
recall = TP / (TP + FN) = TP / TP = 1
F1 = 1

Практический пример

from sklearn.metrics import f1_score, precision_score, recall_score

# Идеальные предсказания
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 1, 1, 0, 1]  # Абсолютно совпадают

precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

print(f"Precision: {precision}")  # 1.0
print(f"Recall: {recall}")  # 1.0
print(f"F1-score: {f1}")  # 1.0

Когда это встречается

В реальных проектах F1 = 1 встречается редко:

  • На тестовых данных: часто указывает на переобучение (overfitting)
  • На тренировочных данных: может быть нормой для простых задач
  • На валидационных данных: обычно сигнал о проблеме (например, данные утекли из train)
  • На новых данных: очень маловероятно в production

Сравнение с другими метриками

# Пример с нарушением
precision = 0.5  # Половина предсказаний ошибочна
recall = 1.0    # Все положительные найдены

F1 = 2 * (0.5 * 1.0) / (0.5 + 1.0)
F1 = 2 * 0.5 / 1.5
F1 ≈ 0.67

# F1 строго между precision и recall (ближе к меньшему значению)

Заключение

Если precision и recall оба равны 1, то F1-мера также равна 1. Это означает совершенную классификацию, когда модель не делает ошибок: не пропускает положительные случаи и не делает ложных срабатываний. На практике такая идеальная ситуация редка и часто указывает на проблемы в validation strategy или data leakage.

Чему равна F-мера, если precision и recall равны 1 | PrepBro