修复混淆矩阵图线

问题描述

我正在尝试绘制一个如下所示的混淆矩阵

cm  = confusion_matrix(testY.argmax(axis=1),predictions.argmax(axis=1))

disp = ConfusionMatrixdisplay(confusion_matrix=cm,display_labels=lb.classes_)
disp = disp.plot(include_values=True,cmap='viridis',ax=None,xticks_rotation='horizontal')

plt.show()

结果:

Confusion Matrix I get

如您所见,它显示的是框的轴,而不是概述框。由于轴,我看不到黄色框外面的数字。我对情节不好。所以我找不到我需要改变的地方。

我期望的是:

Expected Matrix

基本解决方

plt.tick_params(axis=u'both',which=u'both',length=0)
plt.grid(b=None)

解决方法

cmap函数中更改plot()参数。它代表将整数值与颜色进行颜色映射。

检查

https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

了解更多详情。

作为答案

cm  = confusion_matrix(testY.argmax(axis=1),predictions.argmax(axis=1))

disp = ConfusionMatrixDisplay(confusion_matrix=cm,display_labels=lb.classes_)
disp = disp.plot(include_values=True,cmap='Blues',ax=None,xticks_rotation='horizontal')

plt.show()
,

作为示例显示的图形是通过sns图绘制的。您可以使用sns heatmap绘制矩阵。

import seaborn as sns
categories = lb.classes_
sns.heatmap(cm,annot=True,categories =categories,cmap='Blues')