Из doc кажется, что нет такой возможности печатать строки и метки столбцов матрицы путаницы.Однако вы можете указать порядок меток, используя аргумент labels=...
Пример:
from sklearn.metrics import confusion_matrix
y_true = ['yes','yes','yes','no','no','no']
y_pred = ['yes','no','no','no','no','no']
print(confusion_matrix(y_true, y_pred))
# Output:
# [[3 0]
# [2 1]]
print(confusion_matrix(y_true, y_pred, labels=['yes', 'no']))
# Output:
# [[1 2]
# [0 3]]
Если вы хотите напечатать матрицу путаницы с метками, вы можете попробовать pandas
и установитьindex
и columns
из DataFrame
.
import pandas as pd
print(pd.DataFrame(confusion_matrix(y_true, y_pred, labels=['yes', 'no']), index=['true:yes', 'true:no'], columns=['pred:yes', 'pred:no']))
# Output:
# pred:yes pred:no
# true:yes 1 2
# true:no 0 3
или
unique_label = np.unique(y_true)
print(pd.DataFrame(confusion_matrix(y_true, y_pred, labels=unique_label),
index=['true:{:}'.format(x) for x in unique_label],
columns=['pred:{:}'.format(x) for x in unique_label]))
# Output:
# pred:no pred:yes
# true:no 3 0
# true:yes 2 1