我想为三个类别计算计算True_Positive, False_Positive,False_Negative, True_Negative
。我曾经有两个类Cat
Dog
,这就是我用来计算confusion_matrix的方式
Y_pred has either a cat or dog
y_true has either a cat or dog
confusion_matrix_output =confusion_matrix(y_true, y_pred)
True_Positive = confusion_matrix_output[0][0]
False_Positive = confusion_matrix_output[0][1]
False_Negative = confusion_matrix_output[1][0]
True_Negative = confusion_matrix_output[1][1]
现在我有三个班级'猫''狗''兔子'
Y_pred has Cat Dog rabbit
y_true has Cat Dog rabbit
如何计算True_Positive,False_Positive,False_Negative,True_Negative ???
答案 0 :(得分:1)
现在您有3个班级,因此不再只是正面和负面。 您必须查看: 猫被预测为猫,狗被预测为狗,兔子被预测为兔子,狗被预测为猫,猫被预测为狗,依此类推。对于这种情况,您将有3 x 3的混淆矩阵。混淆矩阵的大小为n x n,其中n为类别数
sklearn.metrics.confusion_matrix
提取所有内容并为您创建一个n x n的矩阵。试试这个:
from sklearn.metrics import confusion_matrix
confusion_matrix_output =confusion_matrix(y_true, y_pred)
Cat_P_Cat = confusion_matrix_output[0][0]