Я хочу оценить систему машинного обучения, вычислив f1_score с помощью Scikit-learn для моих прогнозов. Тем не менее, результаты не такие, как ожидалось. Вызов confusion_matrix показывает
[[ 3 11]
[ 5 31]]
Если я вычисляю оценку f1 вручную как 2 * (точность * отзыв) / (точность + отзыв), я получаю 2 * (3/8 * 31/42) / (3/8 + 31/42) = 0,497. Но вызов f1_score (y_true, y_pred, average = "binary") дает 0,7949. У кого-нибудь есть объяснение?
Даже если я вызову f1_score с постоянными предсказаниями 1, когда истинные метки смешаны, я получаю высокие баллы вместо 0 с предупреждением, которое ожидаю. Я подозреваю, что f1_score - это не то, что я ожидаю для avg = "binary", но я не могу обернуться вокруг него.
Моя версия scikit-learn - 0.21.3.
Спасибо за вашу помощь.