Building on @StupidWolf solution, to have all columns:
import numpy as np
import pandas as pd
from IPython.display import display # Optional
from sklearn.metrics import (
classification_report,
precision_recall_fscore_support,
)
res = []
for class_p in classes:
prec, recall, fbeta_score, support = precision_recall_fscore_support(
np.array(y_true) == class_p,
np.array(y_pred) == class_p,
pos_label=True,
average=None,
)
res.append(
[
class_p,
prec[1],
recall[1],
recall[0],
fbeta_score[1],
support[1],
]
)
df_res = pd.DataFrame(
res,
columns=[
"class",
"precision",
"recall",
"specificity",
"f1-score",∏
"support",
],
)
display(df_res)