Чтобы ваша проблема работала так, как вы ожидаете, вы должны сделать cm.plot()
Доказательство
Давайте попробуем сделать это воспроизводимым образом:
from sklearn.metrics import plot_confusion_matrix
from sklearn.datasets import make_classification
from sklearn.ensemble import RandomForestClassifier
np.random.seed(42)
X, y = make_classification(1000, 10, n_classes=2)
clf = RandomForestClassifier()
clf.fit(X,y)
cm = plot_confusion_matrix(clf, X , y, cmap=plt.cm.Greens)
Вы можете построить свой cm
объект позже как:
cm.plot(cmap=plt.cm.Greens);
Для справки. Вы можете получить доступ к методам, доступным для объекта cm
, как:
[method for method in dir(cm) if not method.startswith("__")]
['ax_',
'confusion_matrix',
'display_labels',
'figure_',
'im_',
'plot',
'text_']