matlab如何在matlab利用plotconfusion中绘制混淆矩阵

Posted 敲代码两年半的练习生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab如何在matlab利用plotconfusion中绘制混淆矩阵相关的知识,希望对你有一定的参考价值。

在matlab中绘制混淆矩阵

这段时间使用matlab做机器学习,里面有分类算法,自己做了一个混淆矩阵出来,但是需要画一下混淆矩阵的图形,使用matlab自带的函数plotconfusion()绘制混淆矩阵,二分类或多分类都可行。

plotconfusion(targets,outputs,name) 绘制一个混淆矩阵,并将名称添加到绘图标题的开头。targets为已知的类别标签,outputs是网络的分类结果。 name是图片的名称,默认输出的名字是“name Confusion Matrix”。

错误代码

%% 清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%% 导入数据
load test_lalel.mat
load test_yPred.mat

%% 绘制混淆矩阵
plotconfusion(test_lalel,test_yPred);

这里test_lalel是真实数据,test_yPred是预测数据,都是double类型,这个很重要!
实际标签和预测标签是数值形式的,而这个函数要求的是分类数组形式的,这就需要用到函数categorical
格式为B=categorical(a),a是实际标签或则预测标签(数值格式的,其实就是数字)

正确示例

%% 清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%% 导入数据
% 导入数据
load test_lalel.mat
load test_yPred.mat


%% 转换标签
test_lalel = categorical(test_lalel);
test_yPred = categorical(test_yPred);

%% 绘制混淆矩阵
plotconfusion(test_lalel,test_yPred);

输出效果

以上是关于matlab如何在matlab利用plotconfusion中绘制混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章

如何利用matlab求相关系数?

matlab如何在matlab利用plotconfusion中绘制混淆矩阵

如何利用matlab工具箱进行逻辑回归

如何利用matlab求相关系数?

如何利用matlab将数值拟合成函数

如何利用MATLAB/SIMULINK搭建简单的仿真模型