混淆矩阵绘制

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

# 定义四个模型的混淆矩阵
cm_smedcnn = np.array([[80, 10, 5],
                       [15, 85, 10],
                       [5, 10, 75]])

cm_mlp = np.array([[50, 20, 25],
                   [30, 55, 25],
                   [10, 20, 60]])

cm_lstm = np.array([[85, 5, 10],
                    [10, 90, 5],
                    [5, 10, 70]])

cm_cnn = np.array([[75, 15, 10],
                   [20, 70, 15],
                   [10, 15, 65]])

# 类别标签
labels = ['Positive', 'Negative', 'Neutral']
mpl.rcParams['font.size'] = 15 
# 设置画布
fig, axes = plt.subplots(2, 2, figsize=(12, 12))

# 绘制每个混淆矩阵
sns.heatmap(cm_smedcnn, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels, ax=axes[0, 0])
axes[0, 0].set_title('SMEDCNN')

sns.heatmap(cm_mlp, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels, ax=axes[0, 1])
axes[0, 1].set_title('MLP')

sns.heatmap(cm_lstm, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels, ax=axes[1, 0])
axes[1, 0].set_title('LSTM')

sns.heatmap(cm_cnn, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels, ax=axes[1, 1])
axes[1, 1].set_title('CNN')

# 调整布局
plt.tight_layout()

# 保存为高清 PDF 格式
# plt.savefig("/home/featurize/work/1/邮件/实验图/简称/confusion_matrices_hd.svg", format='svg', dpi=dpi, bbox_inches='tight', pad_inches=0.1)
# plt.savefig('/home/featurize/work/1/邮件/实验图/简称/confusion_matrices_hd.pdf', format='pdf')

# 显示图像
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值