【发布时间】:2021-08-10 16:26:42
【问题描述】:
以下代码绘制了一个混淆矩阵:
from sklearn.metrics import ConfusionMatrixDisplay
confusion_matrix = confusion_matrix(y_true, y_pred)
target_names = ["aaaaa", "bbbbbb", "ccccccc", "dddddddd", "eeeeeeeeee", "ffffffff", "ggggggggg"]
disp = ConfusionMatrixDisplay(confusion_matrix=confusion_matrix, display_labels=target_names)
disp.plot(cmap=plt.cm.Blues, xticks_rotation=45)
plt.savefig("conf.png")
这个情节有两个问题。
- y 轴标签被切断(真实标签)。 x 标签也被切断了。
- x 轴名称过长。
为了解决第一个问题,我尝试使用poof(bbox_inches='tight'),不幸的是它不适用于 sklearn。
在第二种情况下,我为2. 尝试了以下解决方案,这会导致情节完全扭曲。
总而言之,我正在努力解决这两个问题。
【问题讨论】:
-
尝试像
import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = (15,10)这样的rcParams。所以改变宽度,高度。 -
试过了,没有任何改变
-
plt.rcParams["figure.figsize"] = (15,10)是在disp.plot之前添加的吗?或者我的意思是需要在情节之前。 -
这实际上完成了工作。现在情节周围有一大片空白区域。我需要手动裁剪吗?
-
您可以调整 (15,10) 使其最适合标签。
标签: python plot scikit-learn confusion-matrix