对于二分类问题,这个问题比较简单,就是简单的去话混淆矩阵就可以。然后各个值自然就出来了。
本文的算法参考了下面的博客。
https://www.analyticsvidhya.com/blog/2021/06/confusion-matrix-for-multi-class-classification/
多分类问题的混淆矩阵计算方法,可以先计算单个类的[TP, FN, FP, TN]值, 例如以类A作为例子。计算完毕之后,对单个类按公式计算accuracy, precision, recall, F1Score。
最后对多个类计算出来的值,求平均值,可以得到总样本的precision, recall和F1Score值。
其中单个类的混淆矩阵计算方法如下,
TP: label(A)= pred(A),
对于单个类来说,例如A类,label和prediction相等的部分
FN: All label(A) - TP
所有的label为A的个数,减去TP的个数
FP: All pred(A) - TP
所有的prediction为A的个数,减去TP的个数
TN: All samples - TP - FN - FP