混淆矩阵显示百分比代码
时间: 2024-02-29 17:50:18 浏览: 267
详解使用python绘制混淆矩阵(confusion_matrix)
3星 · 编辑精心推荐
当使用混淆矩阵来评估分类模型的性能时,可以通过计算各个类别的预测结果与真实标签的匹配情况来得到百分比。下面是一个示例代码,用于显示混淆矩阵中各个类别的百分比:
```python
import numpy as np
import matplotlib.pyplot as plt
def plot_confusion_matrix(confusion_matrix, classes):
# 计算每个类别的总数
total_samples = confusion_matrix.sum(axis=1)[:, np.newaxis]
# 计算每个类别的百分比
percentage_matrix = (confusion_matrix / total_samples) * 100
# 绘制混淆矩阵
plt.imshow(percentage_matrix, interpolation='nearest', cmap=plt.cm.Blues)
plt.title("Confusion Matrix")
plt.colorbar()
tick_marks = np.arange(len(classes))
plt.xticks(tick_marks, classes, rotation=45)
plt.yticks(tick_marks, classes)
# 在每个格子中显示百分比
thresh = percentage_matrix.max() / 2.
for i in range(percentage_matrix.shape[0]):
for j in range(percentage_matrix.shape[1]):
plt.text(j, i, "{:.2f}%".format(percentage_matrix[i, j]),
horizontalalignment="center",
color="white" if percentage_matrix[i, j] > thresh else "black")
plt.tight_layout()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
# 示例数据
confusion_matrix = np.array([[50, 5, 5],
[10, 80, 10],
[5, 10, 70]])
classes = ['Class 1', 'Class 2', 'Class 3']
# 调用函数绘制混淆矩阵
plot_confusion_matrix(confusion_matrix, classes)
```
这段代码会根据给定的混淆矩阵和类别标签,绘制出一个彩色的混淆矩阵图,并在每个格子中显示对应的百分比。
阅读全文