How can I plot confusion matrix using the below code?

1 view (last 30 days)
function [confusion, accuracy, CR, FR] = confusion_matrix(class, c)
class = class.';
c = c.';
n = length(class);
c_len = length(c);
if n ~= sum(c)
disp('ERROR: wrong input!');
return;
end
% confusion matrix
confusion = zeros(c_len, c_len);
a = 0;
for i = 1: c_len
for j = (a + 1): (a + c(i))
confusion(i, class(j)) = confusion(i, class(j)) + 1;
end
a = a + c(i);
end
confusion = confusion';
% Correct_classification_rate + False_alarm_rate + Overall_accuracy
CR = zeros(1, c_len);
FR = zeros(1, c_len);
for i = 1: c_len
CR(i) = confusion(i, i)/sum(confusion(:, i));
FR(i) = (sum(confusion(i,:)) - confusion(i, i))/sum(confusion(i, :));
end
accuracy = sum(diag(confusion))/sum(c);
  1 Comment
KALYAN ACHARJYA
KALYAN ACHARJYA on 4 Jul 2019
Edited: KALYAN ACHARJYA on 4 Jul 2019
Thsi is a custom function, you have to pass the data to the function. Read about confusion matrix here.

Sign in to comment.

Answers (1)

Yash Totla
Yash Totla on 5 Jul 2019
There is a plotconfusion function in MATLAB Deep Learning Toolbox for plotting the confusion matrix.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!