Это метрика, используемая для оценки качества бинарных классификаторов, которая учитывает как точность (precision), так и полноту (recall) модели. Она особенно полезна в ситуациях с несбалансированными классами, где одно значение может быть значительно больше другого.
Точность (Precision): Доля правильно предсказанных положительных примеров из всех предсказанных положительных. Полнота (Recall): Доля правильно предсказанных положительных примеров из всех истинных положительных.
В некоторых задачах важнее минимизировать ложноположительные ошибки, в других – ложные отрицательные. F-score помогает найти баланс.
В условиях, где один класс значительно преобладает, F-score дает более полное представление о производительности модели, чем просто точность или полнота.
Это гармоническое среднее точности и полноты, что позволяет избежать завышения оценки при высоком значении только одной из метрик. Формула F-score выглядит следующим образом:
F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}
Где:
\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}
\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
Пример
from sklearn.metrics import f1_score
# Пример данных
y_true = [0, 1, 1, 1, 0, 1, 0, 0, 1, 1] # Истинные значения
y_pred = [0, 1, 0, 1, 0, 1, 0, 1, 1, 0] # Предсказанные значения
# Вычисление F-score
f1 = f1_score(y_true, y_pred)
print(f'F-score: {f1:.2f}')
Ставь 👍 и забирай 📚 Базу знаний