52matlab技术网站,matlab教程,matlab安装教程,matlab下载
标题:
categorical数组绘制混淆矩阵遇到的问题
[打印本页]
作者:
matlab的旋律
时间:
2023-2-16 17:16
标题:
categorical数组绘制混淆矩阵遇到的问题
[attach]357[/attach]
使用相同categorical数组绘制混淆矩阵,由于要将其中的数字标签替换成字符标签{
'直流电压偏差'
,
'直流电压波动'
,
'直流电压纹波'
,
'动态电压暂降'
,
'线路故障暂降'
,
'正常'},开始使用find寻找index替换的方式,具体代码如下:
YTest(find(YTest == categorical(1))) = categorical({'直流电压偏差'});
YTest(find(YTest == categorical(2))) = categorical({'直流电压波动'});
YTest(find(YTest == categorical(3))) = categorical({'直流电压纹波'});
YTest(find(YTest == categorical(4))) = categorical({'动态电压暂降'});
YTest(find(YTest == categorical(5))) = categorical({'线路故障暂降'});
YTest(find(YTest == categorical(6))) = categorical({'正常'});
YPred(find(YPred == categorical(1))) = categorical({'直流电压偏差'});
YPred(find(YPred == categorical(2))) = categorical({'直流电压波动'});
YPred(find(YPred == categorical(3))) = categorical({'直流电压纹波'});
YPred(find(YPred == categorical(4))) = categorical({'动态电压暂降'});
YPred(find(YPred == categorical(5))) = categorical({'线路故障暂降'});
YPred(find(YPred == categorical(6))) = categorical({'正常'});
复制代码
结果使用绘制的混淆矩阵如下图所示:
[attach]358[/attach]
结果显示的混淆矩阵除了修改后的标签,还包含原来的数字标签,但是看标签的数据类型还是categorical数组,如下图示:
[attach]359[/attach]
查看数据类型,完全一致,无法解决问题。后来使用categorical自带的替换功能,代码如下:
YTest = categorical(double(YTest),[1,2,3,4,5,6],{'直流电压偏差','直流电压波动','直流电压纹波','动态电压暂降','线路故障暂降','正常'})
复制代码
解决。绘制的混淆矩阵中字符标签完美取代数字标签,如下图示:
[attach]360[/attach]
欢迎光临 52matlab技术网站,matlab教程,matlab安装教程,matlab下载 (http://www.52matlab.com/)
Powered by Discuz! X3.2