Skip to main content

MATLAB confusion matrix


%  test_class  & predicted_class must be same dimension
% 'order' - describes the order of label. Here labels are 'g' as positive and 'h' as negative

[C,order] = confusionmat( test_class(1: noSampleTest), predicted_class, 'order', ['g' ;'h'] )
tp = C(1,1);
fn = C(1,2);
fp = C(2,1);
tn = C(2,2);
sensitivity = tp /( tp + fn )
specificity = tn /( fp + tn )
accuracy = (tp+tn) / (tp+fn+fp+tn)
tpr = sensitivity
fpr = 1-specificity
precision = tp /( tp + fp )
fVal = (2*tpr*precision)/(tpr+precision)

Comments

  1. very helpful and detail! thanks a ton!

    ReplyDelete
  2. Thank you. I found it very helpful. :-) Thank you.

    ReplyDelete
  3. Dear sir ,
    How are you?
    If i want to calculate confusion matrix for the neural network trained by bat algorithm.Where should i include this code?in the main or in bat algorithm code?
    Thanks in advance

    ReplyDelete
  4. i usually get 0 for order and NAN for C.Where is the problem??

    ReplyDelete
  5. i think the correct is
    fn = C(2,1);
    fp = C(1,2);

    ReplyDelete

Post a Comment