Plotconfusion Matrix if targets and labels are in cell
    6 views (last 30 days)
  
       Show older comments
    
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
Accepted Answer
  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);
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
