python中绘制混淆矩阵
时间: 2023-11-09 14:02:45 浏览: 38
在Python中,可以使用混淆矩阵来评估分类模型的性能。下面是一段代码,用于绘制混淆矩阵。
```python
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.metrics import confusion_matrix
# 设置类别标签
labels = ['Class1', 'Class2', 'Class3']
# 定义混淆矩阵
y_true = np.array([0, 1, 2, 0, 1, 2, 0, 1, 2])
y_pred = np.array([0, 1, 2, 1, 0, 1, 2, 1, 0])
cm = confusion_matrix(y_true, y_pred)
# 绘制混淆矩阵
sns.heatmap(cm, annot=True, cmap='Blues', xticklabels=labels, yticklabels=labels)
plt.xlabel('Predicted labels')
plt.ylabel('True labels')
plt.show()
```
在这个示例中,我们创建了一个大小为3 x 3的混淆矩阵,并使用Seaborn库绘制了一个热力图。`xticklabels`和`yticklabels`参数用于设置类别标签,`annot`参数用于在每个单元格中显示数字。您可以更改`y_true`和`y_pred`数组中的值来测试不同的混淆矩阵。
相关问题
python如何绘制混淆矩阵
要使用Python绘制混淆矩阵,你可以使用一些常用的数据可视化库,如matplotlib和seaborn。以下是一个简单的示例代码,展示了如何使用这两个库绘制混淆矩阵:
```python
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 创建混淆矩阵
confusion_matrix = np.array([[50, 10, 0],
[5, 30, 5],
[10, 5, 40]])
# 创建标签
labels = ['Class 0', 'Class 1', 'Class 2']
# 绘制混淆矩阵
plt.figure(figsize=(8, 6))
sns.heatmap(confusion_matrix, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels)
plt.title('Confusion Matrix')
plt.xlabel('Predicted Labels')
plt.ylabel('True Labels')
plt.show()
```
这段代码首先创建了一个3x3的混淆矩阵,然后使用`sns.heatmap()`函数将其可视化为一个热图。`annot=True`表示在热图中显示数值,`fmt='d'`表示使用整数格式显示数值。`cmap='Blues'`设置颜色映射为蓝色。通过设置`xticklabels`和`yticklabels`,可以指定横轴和纵轴的标签。
运行代码后,你将得到一个绘制好的混淆矩阵图。你可以根据自己的需求进行调整和修改,例如,修改矩阵的大小、颜色映射等。
python绘制混淆矩阵
要使用Python绘制混淆矩阵,可以使用sklearn.metrics包中的confusion_matrix函数。首先,需要将预测结果和真实标签以类似的格式赋值给y_pred和y_true变量。然后,可以使用confusion_matrix函数生成混淆矩阵C,可以通过labels参数指定类别的标签。接下来,可以使用matplotlib.pyplot中的函数绘制矩阵图,使用plt.matshow(C, cmap=plt.cm.Reds)来展示混淆矩阵的颜色。可以使用plt.annotate函数在矩阵图中显示每个元素的值。最后,可以使用plt.xlabel和plt.ylabel函数设置x轴和y轴的标签。最后,使用plt.show函数显示绘制好的混淆矩阵图。 [1 [2]
示例代码如下:
```python
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
y_pred = [] # 预测结果
y_true = [] # 真实标签
C = confusion_matrix(y_true, y_pred, labels=['0','1','2','3','4'])
plt.matshow(C, cmap=plt.cm.Reds)
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()
```
这段代码会根据给定的预测结果和真实标签生成混淆矩阵,并使用矩阵图展示混淆矩阵的颜色。每个元素表示预测为某个类别的样本数量。通过调整代码中的参数和标签,可以根据不同的需求进行自定义。 [1 [2 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [详解使用python绘制混淆矩阵(confusion_matrix)](https://download.csdn.net/download/weixin_38580959/12861679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [利用python绘制混淆矩阵](https://blog.csdn.net/weixin_43818631/article/details/121309660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]