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中绘制混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章