matlab如何画混淆矩阵
时间: 2023-08-24 17:10:58 浏览: 188
在Matlab中,可以使用以下代码来绘制混淆矩阵:
```matlab
sum = sum(confusion_matrix,2);
[m,n] = size(confusion_matrix);
for i =1: m
confusion_matrix(i,:)=confusion_matrix(i,:)/sum(i);
end
draw_cm(confusion_matrix);
xticks([1 2 3 4 5 ]);
yticks([1 2 3 4 5 ]);
```
其中,`confusion_matrix`是混淆矩阵的数据。这段代码会将混淆矩阵的每一行除以该行的总和,以便得到每个类别的归一化值。然后,调用`draw_cm`函数来绘制彩色图。`xticks`和`yticks`函数用于设置坐标轴上的刻度。
另外,你还可以使用sklearn库中的`confusion_matrix`函数来绘制混淆矩阵。以下是使用sklearn库的示例代码:
```python
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
y_pred = [] # 预测结果
y_true = [] # 真实标签
C = confusion_matrix(y_true, y_pred)
plt.matshow(C, cmap=plt.cm.Blues)
for i in range(len(C)):
for j in range(len(C)):
plt.annotate(C[j, i], xy=(i, j), horizontalalignment='center', verticalalignment='center')
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
```
这段代码首先调用`confusion_matrix`函数计算混淆矩阵,然后使用`matshow`函数绘制彩色图。最后,使用`annotate`函数在图中的每个格子中添加混淆矩阵的值,并设置坐标轴的标签。
阅读全文