我想让混淆矩阵画在一个单独的图片上
时间: 2023-12-22 09:06:31 浏览: 94
好的,您可以使用Python的Matplotlib库来绘制混淆矩阵。下面是一个简单的代码示例,它将混淆矩阵绘制成一个单独的图片:
``` python
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import numpy as np
# 生成混淆矩阵
labels = [0, 1, 2]
y_true = [0, 1, 2, 0, 1, 2, 0, 1, 2]
y_pred = [0, 1, 2, 1, 0, 1, 2, 1, 0]
cm = confusion_matrix(y_true, y_pred, labels=labels)
# 绘制混淆矩阵
fig, ax = plt.subplots()
im = ax.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)
ax.figure.colorbar(im, ax=ax)
ax.set(xticks=np.arange(cm.shape[1]),
yticks=np.arange(cm.shape[0]),
xticklabels=labels, yticklabels=labels,
title='Confusion matrix',
ylabel='True label',
xlabel='Predicted label')
# 在矩阵格子中添加数字标签
thresh = cm.max() / 2.
for i in range(cm.shape[0]):
for j in range(cm.shape[1]):
ax.text(j, i, format(cm[i, j], 'd'),
ha="center", va="center",
color="white" if cm[i, j] > thresh else "black")
# 调整布局并保存图片
fig.tight_layout()
plt.savefig('confusion_matrix.png', dpi=300)
```
这个示例生成一个3x3的混淆矩阵,并将其绘制成一个单独的图片。您可以根据自己的需求修改标签、真实和预测值,以及保存图片的文件名和分辨率。
阅读全文