python画混淆矩阵图

1. 计算混淆矩阵

from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包

C1= confusion_matrix(True_label, T_predict1) #True_label 真实标签 shape=(n,1);T_predict1 预测标签 shape=(n,1)

混淆矩阵

2. 用seaborn的热力图画混淆矩阵图

import seaborn as sns #导入包
xtick=['1','2','3','4','5','6','7','8','9','10']
ytick=['1','2','3','4','5','6','7','8','9','10']

sns.heatmap(C1,fmt='g', cmap=name,annot=True,cbar=False,xticklabels=xtick, yticklabels=ytick) #画热力图,annot=True 代表 在图上显示 对应的值, fmt 属性 代表输出值的格式,cbar=False, 不显示 热力棒
plt.show()

在这里插入图片描述

### 如何在 Python 中使用 `cmap` 参数绘制混淆矩阵 为了实现带有自定义颜色映射的混淆矩阵,可以利用 Matplotlib 和 Seaborn 库的功能。以下是详细的说明和示例代码。 #### 导入必要的库 首先需要导入用于数据处理、可视化所需的库。这一步骤通常包括 Pandas、Matplotlib 以及 Seaborn[^1]。 ```python import numpy as np import pandas as pd from matplotlib import pyplot as plt %matplotlib inline import seaborn as sns sns.set() ``` #### 创建混淆矩阵的数据 假设有一个简单的混淆矩阵作为输入数据: ```python confusion_matrix = np.array([ [40, 8, 2], [7, 50, 3], [5, 9, 46] ]) ``` 此数组表示分类模型预测的结果与实际标签之间的关系。 #### 绘制带自定义颜色映射的混淆矩阵 Seaborn 的 `heatmap()` 函数支持通过参数 `cmap` 来设置颜色映射方案。下面是一个完整的例子,展示如何应用不同的颜色映射来增强视觉效果[^2]。 ```python plt.figure(figsize=(8, 6)) sns.heatmap(confusion_matrix, annot=True, fmt="d", cmap="Blues", cbar=True) # 设置表标题和轴标签 plt.title('Confusion Matrix with Custom Color Map', fontsize=16) plt.xlabel('Predicted Label', fontsize=14) plt.ylabel('True Label', fontsize=14) # 显示形 plt.show() ``` 在此代码片段中: - `annot=True`: 将数值显示在单元格上。 - `fmt="d"`: 数值将以整数形式呈现。 - `cmap="Blues"`: 使用蓝色系的颜色映射。 - 可替换 `"Blues"` 为其他预设选项(如 `"Reds"`, `"Greens"`, 或者更复杂的调色板)以调整样式。 如果希望进一步优化配色方案,还可以尝试 Matplotlib 提供的各种内置 colormap 列表或者创建自己的渐变色彩。 --- #### 更改颜色映射的例子 下面是另一个采用红色系列 (`"Reds"`) 配置的情况: ```python plt.figure(figsize=(8, 6)) sns.heatmap(confusion_matrix, annot=True, fmt="d", cmap="Reds", cbar=True) # 更新标题以便区分不同版本 plt.title('Confusion Matrix Using Reds Colormap', fontsize=16) plt.xlabel('Predicted Label', fontsize=14) plt.ylabel('True Label', fontsize=14) plt.show() ``` --- #### 自定义连续色调 对于更加个性化的表现需求,可以通过 Matplotlib 定义独特的 color map: ```python from matplotlib.colors import LinearSegmentedColormap colors = ["white", "blue"] custom_cmap = LinearSegmentedColormap.from_list(name='my_colormap', colors=colors) plt.figure(figsize=(8, 6)) sns.heatmap(confusion_matrix, annot=True, fmt="d", cmap=custom_cmap, cbar=True) plt.title('Custom Confusion Matrix Colorscheme', fontsize=16) plt.xlabel('Predicted Label', fontsize=14) plt.ylabel('True Label', fontsize=14) plt.show() ``` 上述方法允许开发者完全掌控可视化的美学特性,从而更好地传达信息给观众. ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值