У меня (истина), логические значения и предсказал логические значения, как:различие между каждыми значениями F1-оценкой в sklearns.metrics.classification_report и sklearns.metrics.f1_score с бинарной матрицей неточностей
y_true = np.array([True, True, False, False, False, True, False, True, True,
False, True, False, False, False, False, False, True, False,
True, True, True, True, False, False, False, True, False,
True, False, False, False, False, True, True, False, False,
False, True, True, True, True, False, False, False, False,
True, False, False, False, False, False, False, False, False,
False, True, True, False, True, False, True, True, True,
False, False, True, False, True, False, False, True, False,
False, False, False, False, False, False, False, True, False,
True, True, True, True, False, False, True, False, True,
True, False, True, False, True, False, False, True, True,
False, False, True, True, False, False, False, False, False,
False, True, True, False])
y_pred = np.array([False, False, False, False, False, True, False, False, True,
False, True, False, False, False, False, False, False, False,
True, True, True, True, False, False, False, False, False,
False, False, False, False, False, True, False, False, False,
False, True, False, False, False, False, False, False, False,
True, False, False, False, False, False, False, False, False,
False, True, False, False, False, False, False, False, False,
False, False, True, False, False, False, False, True, False,
False, False, False, False, False, False, False, True, False,
False, True, False, False, False, False, True, False, True,
True, False, False, False, True, False, False, True, True,
False, False, True, True, False, False, False, False, False,
False, True, False, False])
Я с использованием следующих ИМПОРТНОЕ
from sklearn.metrics import f1_score, classification_report, confusion_matrix
Путаница матрица выглядит следующим образом:
print(confusion_matrix(y_true, y_pred))
[[67 0]
[21 24]]
Я делаю:
print("f1_score: %f" % f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))
я получаю:
f1_score: 0.695652
precision recall f1-score support
False 0.76 1.00 0.86 67
True 1.00 0.53 0.70 45
avg/total 0.86 0.81 0.80 112
Я вижу 4 значения f1-score
(0.695652
, 0.86
, 0.70
, 0.80
). Интересно, каковы различия между всеми значениями и как они рассчитываются.
Хорошо спасибо. Я заметил, что 'f1_score (~ y_true, ~ y_pred) = 0.86451612903225816', но как получить 0.80? Кажется, что '(45 * f1_score (y_true, y_pred) + 67 * f1_score (~ y_true, ~ y_pred))/(67 + 45)' – scls
Я думаю, что вы правы в своих предположениях. –