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 件のコメント
このコメントへの直接リンク
https://jp.mathworks.com/matlabcentral/answers/470311-how-can-i-plot-confusion-matrix-using-the-below-code#comment_721502
このコメントへの直接リンク
https://jp.mathworks.com/matlabcentral/answers/470311-how-can-i-plot-confusion-matrix-using-the-below-code#comment_721502
サインインしてコメントする。