TP: True Positive
FN: False Negative
FP: False Positive
TN: True Negative
二分类任务中的TP/TN/FP/FN容易理解和求取,但实际中常常需要通过求多分类任务中某类别的TP/TN/FP/FN进而计算其他性能参数,如recall,precision,f1-score,TPR,TNR等等。本文主要讲解TP/TN/FP/FN的计算。
在多分类任务中,各类别的TP/TN/FP/FN计算可由下图概括:
为了方便理解,举个例子说明。
假设某三分类任务的混淆矩阵如下:
类别1(记为label1)的TP/TN/FP/FN计算如下图所示:
label1_TP=9;
label1_TN=6+1+1+7=15;
label1_FP=0+1=1;
label1_FN=3+2=5;
类别2的TP/TN/FP/FN计算下图所示:
label2_TP=6;
label2_TN=9+2+1+7=19;
label2_FP=3+1=4;
label2_FN=0+1=1;
同理,类别3的TP/TN/FP/FN计算如下:
label3_TP=7;
label3_TN=9+3+0+6=18;
label3_FP=2+1=3;
label3_FN=1+1=2;
此外,附上python代码方便大家。
import numpy as np
# 1-混淆矩阵
confusion_matrix