Matlab画混淆矩阵(多分类)

在神经网络和机器学习的结果分析中,常常会用混淆矩阵和ROC曲线来分析识别/分类结果的好坏,而且论文中也经常出现这种图。对于卷积神经网络来说画混淆矩阵很简单,要用到函数plotconfusion,格式为plotconfusion(实际标签,预测标签),画出来是这样的:
Matlab画混淆矩阵(多分类)_第1张图片
实际标签是我们提前就知道的,预测标签在神经网络训练并测试后会得到。
对于支持向量机来说如何画混淆矩阵呢?其实也很简单,只不过网上很少有代码,我看的也是稀里糊涂的,昨天看到今天才弄明白,所以想分享给大家,其实很简单的,用的也是plotconfusion函数。
支持向量机的实际标签和预测标签是数值形式的,而这个函数要求的是分类数组形式的,这就需要用到函数categorical,格式为B=categorical(a),a是实际标签或则预测标签(数值格式的,其实就是数字),通过这个函数就把数值转化为了分类数组,然后再调用plotconfusion函数就OK了。
这里预测标签是double型数值
这里预测标签是double型数值↑↑↑

用catorical函数将数值转化为分类数组
转化为分类数组形式↑↑↑
Matlab画混淆矩阵(多分类)_第2张图片
Ps:这两图片用到的数据不一样,所以画出来有所差别,应该就是这样画的,终于明白了,看别人讲的好复杂,有一种画出来的是灰色的图,那个网上有代码,但是没有这个彩色的好看。
好,第一篇文章,到此为止。下次再见。

你可能感兴趣的:(混淆矩阵,神经网络,机器学习)