如何保存混淆矩阵图以便我可以调用它以供将来参考?

Posted

技术标签:

【中文标题】如何保存混淆矩阵图以便我可以调用它以供将来参考?【英文标题】:How to save Confusion Matrix plot so that I can call it for future reference? 【发布时间】:2020-08-24 17:20:09 【问题描述】:

我正在使用这个最新的函数 sklearn.metrics.plot_confusion_matrix 来绘制我的混淆矩阵。

cm = plot_confusion_matrix(classifier,X , y_true,cmap=plt.cm.Greens)

当我执行该单元格时,混淆矩阵图按预期显示。我的问题是我想稍后将该图用于另一个单元格。当我在另一个单元格中调用 cm 时,它只显示该对象的位置。

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

调用 plt.show() 也不起作用

【问题讨论】:

【参考方案1】:

为了让您的问题按预期工作,您应该这样做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_']

【讨论】:

我怎样才能直接将它保存到磁盘呢?

以上是关于如何保存混淆矩阵图以便我可以调用它以供将来参考?的主要内容,如果未能解决你的问题,请参考以下文章

从图库中选择图像并保存以备将来使用

保存/导出输出列表以供将来在 R 中直接使用?

如何通过 Android 在 Paypal 保险库中保存信用卡详细信息以及如何检索它们以供将来使用

我应该在哪里保存客户端的 JWT 以供将来请求?

在 MatLab 中保存矩阵

Django:保存旧的查询集以供将来比较