对于多分类问题,如何对预测结果进行可视化分析是性能对比的关键,在实际多分类问题,除了简单展示模型预测精度外,如何理解不同类别之间的预测结果对于分析样本相关性和属性区别具有重要意义,在MATLAB中一般通过混淆矩阵confusion matrix进行可视化分析,
基本实现函数为:
1. plotconfusion(targets,outputs)
2. plotconfusion(targets,outputs, name)
其中 targets为样本对应实际标签,outputs为所建模型预测样本标签,name为混淆矩阵名称,并非对应属性名称(譬如产地等),除上述两种方式为,还有一种表达方式是通过单独属性表示预测结果的,没什么应用价值,此处不再介绍。
需要说明的是:targets和outputs两个矩阵不是实际预测模型的1xN矩阵,而是MxN矩阵,其中N表示样本数目,M表示样本属性个数,即类别数或标签数等。常规模型所得1xN预测属性无法直接进行混淆矩阵绘制,需要对单样本属性进行多属性扩展,具体为建立MxN矩阵,该矩阵行表示属性特性,列表示样本,对于单个样本,仅在对应属性对应行向量进行标注(1),该列向量其余位置均为0,这样,原先的矩阵1xN矩阵转换为MxN矩阵。
官方给出的二分类问题为:
其中横轴表示真实样本标签、纵轴表示样本预测标签,下、右四块浅灰色表示TP、TN、FP、FN等有关不平衡分布样本评价指标参数。
官方给出的多分类问题为:
可以看到,每一个橙色方块内部表示预测错误样本数,主对角线表示预测正确样本数,下、右浅灰色矩形框表示对应样本属性预测准确率。
最后再贴一张自己对太平猴魁茶产地鉴别结果的可视化:
我对图中的字体和框图颜色进行了调整。
完结,加油,我的博士梦!