Confusion matrix and generation with TensorFlow
简单记录一下多分类问题中的一种评价方法及其可视化,混淆矩阵 (confusion matrix, CM)。首先给出其定义及作用,然后给出样例。
Confusion matrix
混淆矩阵通过比较分类器的预测和真实标签,评估分类器效果,通常用于多分类问题。TF的audio recognition tutorial里对混淆矩阵的评价是, This matrix can be more useful than just a single accuracy score because it gives a good summary of what mistakes the network is making. 即混淆矩阵可以帮助分析分类器在哪些类上的表现最差。相对于单一的准确率这种衡量指标,更加直观。
混淆矩阵是一个二维的方阵,横轴代表真实标签,枞轴代表预测标签,其中的元素代表实际为第,被分成第类的样本数目。显然矩阵的非零元素集中在对角线时,分类器的表现更优异。
Examples
下面给出一个样例,这是一个六分类的问题,结果来自我们近期的工作。其中A的样本量约1000, B的样本量约10000,A random是随机产生预测标签的CM矩阵。如下所示,A的CM map中,多数样本集中在对角线;B的表现也不错,但(6,6)的色块显然淡了很多,说明分类器对第六类的分类效果不好;而A random,因为是随机生成的,其CM的各个元素的样本数比较均衡,因此分类准确率也非常差。
