这是我绘制混淆矩阵的代码,想要在里面添加准确率
时间: 2024-05-02 21:17:57 浏览: 54
以下是一个示例代码,其中添加了计算准确率的部分:
```python
from sklearn.metrics import confusion_matrix
# 假设 y_true 和 y_pred 分别是真实标签和预测标签
cm = confusion_matrix(y_true, y_pred)
# 计算准确率
accuracy = (cm[0, 0] + cm[1, 1]) / sum(sum(cm))
# 输出混淆矩阵和准确率
print("Confusion Matrix:\n", cm)
print("Accuracy:", accuracy)
```
请注意,此示例代码假定标签只有两个类别。如果您的标签有更多类别,您需要修改计算准确率的公式。
相关问题
这是我绘制混淆矩阵的代码,在绘制的矩阵里面添加准确率
以下是绘制混淆矩阵并添加准确率的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 构造混淆矩阵和准确率
confusion_matrix = np.array([[85, 15], [20, 80]])
accuracy = np.trace(confusion_matrix) / np.sum(confusion_matrix)
# 绘制混淆矩阵
fig, ax = plt.subplots(figsize=(5, 5))
ax.matshow(confusion_matrix, cmap=plt.cm.Blues, alpha=0.3)
for i in range(confusion_matrix.shape[0]):
for j in range(confusion_matrix.shape[1]):
ax.text(x=j, y=i, s=confusion_matrix[i, j], va='center', ha='center', fontsize=18)
plt.xlabel('Predicted label')
plt.ylabel('True label')
# 添加准确率
ax.text(x=0, y=2, s='Accuracy = {:.2f}%'.format(accuracy*100), fontsize=14)
plt.show()
```
这段代码使用了NumPy和Matplotlib库,先构造了一个2x2的混淆矩阵和准确率,然后使用Matplotlib的matshow函数绘制了矩阵,使用text函数添加了数字标签,最后使用text函数添加了准确率。在绘制矩阵时,使用了alpha参数来设置透明度,使矩阵的颜色不会过于鲜艳。在添加准确率时,使用了字符串格式化来将准确率转换为百分比,并限定小数点后两位。
使用 python 绘制混淆矩阵
以下是使用 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)
阅读全文