Как сохранить график матрицы путаницы, чтобы я мог назвать его для дальнейшего использования? - PullRequest
1 голос
/ 09 мая 2020

Я использовал эту последнюю функцию, sklearn.metrics.plot_confusion_matrix, чтобы построить свою матрицу путаницы. Моя проблема в том, что я хочу позже использовать график для другой ячейки. Когда я вызвал cm в другой ячейке, он показывает только местоположение этого объекта.

>>> cm
>>> <sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x1af790ac6a0>

Вызов plt.show () тоже не работает

1 Ответ

1 голос
/ 09 мая 2020

Чтобы ваша проблема работала так, как вы ожидаете, вы должны сделать 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)

enter image description here

Вы можете построить свой cm объект позже как:

cm.plot(cmap=plt.cm.Greens);

enter image description here

Для справки. Вы можете получить доступ к методам, доступным для объекта cm, как:

[method for method in dir(cm) if not method.startswith("__")]
['ax_',
 'confusion_matrix',
 'display_labels',
 'figure_',
 'im_',
 'plot',
 'text_']
...