【图表绘制】绘制热力图和混淆矩阵之间的关联和感性认识

以下是用Python生成热力图和混淆矩阵的示例代码。这里我将使用matplotlib和seaborn库来生成热力图,以及sklearn来创建一个简单的分类模型并生成混淆矩阵。

首先,让我们生成一个热力图的示例:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# 创建一些示例数据
data = np.random.rand(10, 12)

# 创建热力图
plt.figure(figsize=(8, 6))
sns.heatmap(data, annot=True, cmap='coolwarm')
plt.title('Heatmap Example')
plt.show()

这段代码生成一个10x12的随机数据矩阵,并使用seaborn的heatmap函数创建热力图。annot=True会在每个格子里显示数值,cmap='coolwarm'设置了颜色映射。

接下来,是混淆矩阵的示例。这里我将使用sklearn的一些函数来创建一个简单的分类模型,然后生成并展示其混淆矩阵:

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix

# 生成模拟分类数据
X, y = make_classification(n_samples=100, n_features=4, n_classes=2, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

# 创建并训练模型
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

# 预测测试集
y_pred = model.predict(X_test)

# 创建混淆矩阵
cm = confusion_matrix(y_test, y_pred)

# 绘制混淆矩阵的热力图
plt.figure(figsize=(6, 5))
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')
plt.title('Confusion Matrix')
plt.ylabel('Actual Label')
plt.xlabel('Predicted Label')
plt.show()

在这个例子中,我们首先生成了一个简单的二分类数据集,然后使用随机森林分类器进行训练和预测。最后,我们使用混淆矩阵来评估模型性能,并用seaborn的热力图来可视化它。annot=Truefmt='d'确保矩阵中的数字是整数格式。

热力图和混淆矩阵之间的关系:混淆矩阵通常用热力图的形式来展示

热力图和混淆矩阵是两种不同的可视化工具,但它们有时可以相互关联。

热力图(Heatmap):

热力图是一种数据可视化技术,用于展示数值矩阵、表格或空间数据的大小或密度。
它通过不同的颜色来表示数值的大小,颜色的深浅或色调通常与数值的大小成比例。
热力图可用于展示各种类型的数据,如地理数据、矩阵数据或时间序列数据等。
混淆矩阵(Confusion Matrix):

混淆矩阵是机器学习中用于评估分类模型性能的特定类型的表格。
它显示了实际类别和模型预测类别之间的关系,通常用于监督学习。
混淆矩阵包括四个部分:真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)。
在某些情况下,混淆矩阵可以用热力图的形式来表示。在这种情况下,热力图的颜色深浅表示混淆矩阵中每个格子的数值大小,这有助于直观地展示分类模型的性能,特别是在处理多类分类问题时。但要注意,虽然混淆矩阵可以以热力图形式呈现,热力图本身是一种更通用的数据表示形式,不限于展示混淆矩阵。

在这里插入图片描述

在这里插入图片描述

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值