Plotconfusion Matrix if targets and labels are in cell
5 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
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!