混淆矩阵绘制

本文介绍了一个用于绘制混淆矩阵的Python函数,该函数可以根据实际标签和预测标签生成混淆矩阵,并支持是否进行归一化的选项。此外,还展示了如何使用该函数从PyTorch模型输出的数据中生成混淆矩阵。

代码有些参考了其他博客

from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt

import itertools
def plot_confusion_matrix(cm, classes, normalize=False, cmap=plt.cm.Blues):
    """
    This function prints and plots the confusion matrix.
    Normalization can be applied by setting `normalize=True`.
    Input
    - cm : 计算出的混淆矩阵的值
    - classes : 混淆矩阵中每一行每一列对应的列
    - normalize : True:显示百分比, False:显示个数
    """
    if normalize:
        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
        title = 'Normalized confusion matrix'
        cb_title = 'Number of recordings (normalized)'
    else:
        title =</
### 如何在 MATLAB 中绘制混淆矩阵 #### 混淆矩阵的概念 混淆矩阵是一种特殊的表格布局,显示分类模型的性能。每一行代表实例的实际类别,而每一列对应预测到的类别。通过观察这个矩阵可以直观了解哪些类别的识别率较高以及容易被误判的情况。 #### 文件结构与准备 为了创建一个有效的可视化工具,在开始之前应该准备好测试集的真实标签向量 `trueLabels` 和由机器学习算法产生的预测标签向量 `predictedLabels` 。这两个变量将是构建混淆矩阵的基础[^1]。 #### 输出效果展示 最终得到的结果图不仅能够清楚地显示出各类之间的关系,而且还能利用色彩的变化突出不同区域的重要性。这有助于更深入理解模型的表现特点并发现潜在的问题所在[^2]。 #### 示例代码实现 下面是一段完整的MATLAB脚本用来生成带有颜色映射的混淆矩阵: ```matlab % 假设 trueLabels 是实际标签数组;predictedLabels 是预测标签数组 confusionMatrix = confusionmat(trueLabels, predictedLabels); figure; imagesc(confusionMatrix); % 使用 imagesc 函数绘制图像 axis square; % 设置坐标轴比例相同 colormap jet; % 应用 colormap 来定义颜色方案 colorbar; % 显示 colorbar 解释数值范围 title('Confusion Matrix'); % 添加标题 xlabel('Predicted Class'); ylabel('True Class'); % 可选:为每个单元格添加具体的数字标注 for i = 1:size(confusionMatrix, 1) for j = 1:size(confusionMatrix, 2) text(j - .5, i -.5, num2str(confusionMatrix(i,j)), ... 'HorizontalAlignment', 'center',... 'FontSize', 9); end end ``` 此段程序首先计算出了给定真实值和预测值得到的混淆矩阵,并将其传递给 `imagesc()` 进行渲染。接着设置了图形窗口属性以确保最佳视觉呈现方式。最后一步则是遍历整个二维表单,在适当位置放置确切的数量说明文字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值