F1-score per class for multi-class classification
I would use the f1_score
along with the labels
argument
from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
labels = [0, 1, 2]
f1_scores = f1_score(y_true, y_pred, average=None, labels=labels)
f1_scores_with_labels = {label:score for label,score in zip(labels, f1_scores)}
Outputs:
{0: 0.8, 1: 0.0, 2: 0.0}
Taken from the f1_score
docs.
from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average=None)
Ouputs:
array([ 0.8, 0. , 0. ])
Which is the scores for each class.