MATLAB Answers

Plotconfusion Matrix if targets and labels are in cell

5 views (last 30 days)
Marek Ziak
Marek Ziak on 28 Nov 2019
Commented: Marek Ziak on 7 Dec 2019
Hello everyone,
I would like to ask how it is possible to plot confusion matrix if my data from the network and targets are in cell arrays. I tried converting them to categorical type but it wasn't really helpful. Cell array is 1x1000 and every cell is 1x6. I appreciate any help.
Thanks
Marek

  0 Comments

Sign in to comment.

Accepted Answer

Raunak Gupta
Raunak Gupta on 4 Dec 2019
Hi,
Directly converting from cell array to categorical in which the contents of cell array also represents a cell array is not supported. Instead it can be converted to a matrix by atleast looping over the number of datapoints that are there. I am assuming that the {1x6} cell array is one-hot encoded (all 6 values should sum up to 1) as it’s a classification problem.
% For example target is 1x5 cell array containing 1x3 cell arrays.
targets = {{1,0,0},{0,1,0},{1,0,0},{1,0,0},{0,0,1}};
predicted = {{1,0,0},{1,0,0},{0,1,0},{1,0,0},{0,0,1}};
target_matrix = zeros(size(targets{1},2),size(targets,2));
predicted_matrix = zeros(size(predicted{1},2),size(predicted,2));
for i=1:size(targets,2)
target_matrix(:,i) = cell2mat(targets{i});
end
for i=1:size(predicted,2)
predicted_matrix(:,i) = cell2mat(predicted{i});
end
plotconfusion(target_matrix,predicted_matrix);

  1 Comment

Marek Ziak
Marek Ziak on 7 Dec 2019
Hi thank you so much for your answer. It is working.

Sign in to comment.

More Answers (0)

Sign in to answer this question.