调整 ConfusionMatrixDisplay 的大小 (ScikitLearn)

Rap*_*ael 3 matplotlib scikit-learn data-science

如何设置 ScikitLearn 的 ConfusionMatrixDisplay 绘制的图形的大小?

import numpy as np
from sklearn.metrics import ConfusionMatrixDisplay, confusion_matrix
cm = confusion_matrix(np.arange(25), np.arange(25))
cmp = ConfusionMatrixDisplay(cm, display_labels=np.arange(25))
cmp.plot()
Run Code Online (Sandbox Code Playgroud)

上面的代码显示了这个图,太紧了:

在此处输入图片说明

Sta*_*dIO 9

我一直在寻找如何调整颜色条,正如有人在 @Raphael 提供的答案的评论中指出的那样,现在想添加如何做到这一点。

我使用了这个答案的属性ConfusionMatrixDisplay并受其指导,将代码修改为:

import numpy as np
from sklearn.metrics import ConfusionMatrixDisplay, confusion_matrix
import matplotlib.pyplot as plt

cm = confusion_matrix(np.arange(25), np.arange(25))
cmp = ConfusionMatrixDisplay(cm, display_labels=np.arange(25))
fig, ax = plt.subplots(figsize=(10,10))

# Deactivate default colorbar
cmp.plot(ax=ax, colorbar=False)

# Adding custom colorbar
cax = fig.add_axes([ax.get_position().x1+0.01,ax.get_position().y0,0.02,ax.get_position().height])
plt.colorbar(cmp.im_,  cax=cax)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Rap*_*ael 5

您可以将ax参数发送到plot现有 PyPlot 图的 。之前只设置图形的大小。

import numpy as np
from sklearn.metrics import ConfusionMatrixDisplay, confusion_matrix
import matplotlib.pyplot as plt
cm = confusion_matrix(np.arange(25), np.arange(25))
cmp = ConfusionMatrixDisplay(cm, display_labels=np.arange(25))
fig, ax = plt.subplots(figsize=(10,10))
cmp.plot(ax=ax)
Run Code Online (Sandbox Code Playgroud)

  • 但现在传说已经溢出矩阵了。我们可以修复它吗? (4认同)