使用 python 绘制混淆矩阵
时间: 2023-12-10 10:14:18 浏览: 133
以下是使用 Python 和 Matplotlib 库绘制混淆矩阵的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 模拟混淆矩阵
confusion_matrix = np.array([[50, 10, 5],
[2, 80, 8],
[0, 7, 60]])
# 计算每一类的准确率
accuracy = np.diag(confusion_matrix) / np.sum(confusion_matrix, axis=1)
# 绘制混淆矩阵
fig, ax = plt.subplots(figsize=(8, 8))
im = ax.imshow(confusion_matrix, cmap='Blues')
# 添加标签
ax.set_xticks(np.arange(len(confusion_matrix)))
ax.set_yticks(np.arange(len(confusion_matrix)))
ax.set_xticklabels(['Class 1', 'Class 2', 'Class 3'])
ax.set_yticklabels(['Class 1', 'Class 2', 'Class 3'])
ax.set_xlabel('Predicted labels')
ax.set_ylabel('True labels')
# 添加文本
for i in range(len(confusion_matrix)):
for j in range(len(confusion_matrix)):
text = ax.text(j, i, confusion_matrix[i, j],
ha='center', va='center', color='white')
# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
# 显示准确率
for i in range(len(confusion_matrix)):
ax.text(i, i, f'{accuracy[i]:.2f}', color='red', ha='center', va='center')
# 调整图表布局
plt.tight_layout()
# 显示图表
plt.show()
```
运行上述代码,将得到一个如下图所示的混淆矩阵:
![confusion_matrix](https://i.imgur.com/zX8M9yC.png)
阅读全文