У меня есть некоторый дисбаланс классов и простой базовый классификатор, который назначает мажоритарный класс для каждой выборки:
from sklearn.metrics import precision_score, recall_score, confusion_matrix
y_true = [0,0,0,1]
y_pred = [0,0,0,0]
confusion_matrix(y_true, y_pred)
Это дает
[[3, 0],
[1, 0]]
Это означает, что TP = 3, FP = 1, FN = 0.
Пока все хорошо.Теперь я хочу вычислить микро-среднюю точность и вспомнить.
precision_score(y_true, y_pred, average='micro') # yields 0.75
recall_score(y_true, y_pred, average='micro') # yields 0.75
Я в порядке с точностью, но почему отзыв не 1,0?Как они могут быть одинаковыми в этом примере, если FP> 0 и FN == 0?Я знаю, что это должно быть связано с микро усреднением, но я не могу обернуться вокруг этого.