Размер шрифта Confusion Matrix - PullRequest
       4

Размер шрифта Confusion Matrix

1 голос
/ 21 января 2020

У меня есть Матрица путаницы с очень маленькими числами, но я не могу найти способ их изменить.

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, rf_predictions)
ax = plt.subplot()
sns.set(font_scale=3.0) #edited as suggested
sns.heatmap(cm, annot=True, ax=ax, cmap="Blues", fmt="g");  # annot=True to annotate cells

# labels, title and ticks
ax.set_xlabel('Predicted labels');
ax.set_ylabel('Observed labels');
ax.set_title('Confusion Matrix');
ax.xaxis.set_ticklabels(['False', 'True']);
ax.yaxis.set_ticklabels(['Flase', 'True']);
plt.show()

, это код, который я использую, и пи c я получаю, как : enter image description here

Я не против поменять номера классификации вручную, но я действительно не хочу делать это для меток aswell.

РЕДАКТИРОВАТЬ: цифры теперь больше, но этикетки остаются очень маленькими

ура

Ответы [ 2 ]

1 голос
/ 21 января 2020

Используйте sns.set, чтобы изменить размер шрифта значений тепловой карты. Вы можете указать размер шрифта надписей и заголовка в виде словаря в ax.set_xlabel, ax.set_ylabel и ax.set_title, а размер шрифта надписей в галочках с помощью ax.tick_params.


from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, rf_predictions)

ax = plt.subplot()
sns.set(font_scale=3.0) # Adjust to fit
sns.heatmap(cm, annot=True, ax=ax, cmap="Blues", fmt="g");  

# Labels, title and ticks
label_font = {'size':'18'}  # Adjust to fit
ax.set_xlabel('Predicted labels', fontdict=label_font);
ax.set_ylabel('Observed labels', fontdict=label_font);

title_font = {'size':'21'}  # Adjust to fit
ax.set_title('Confusion Matrix', fontdict=title_font);

ax.tick_params(axis='both', which='major', labelsize=10)  # Adjust to fit
ax.xaxis.set_ticklabels(['False', 'True']);
ax.yaxis.set_ticklabels(['False', 'True']);
plt.show()
0 голосов
/ 01 марта 2020

Используйте rcParams, чтобы изменить весь текст на графике:

fig, ax = plt.subplots(figsize=(10,10))
plt.rcParams.update({'font.size': 16})
disp = plot_confusion_matrix(clf, Xt, Yt,
                             display_labels=classes,
                             cmap=plt.cm.Blues,
                             normalize=normalize,
                             ax=ax)
...