🤔 Что такое F-score и зачем его используют?



Это метрика, используемая для оценки качества бинарных классификаторов, которая учитывает как точность (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}')




Ставь 👍 и забирай 📚 Базу знаний