Extracting data from confusion matrix fig
10 次查看(过去 30 天)
显示 更早的评论
Hi, How can i extract the data from a confusion matrix fig file?
3 个评论
Bala Tripura Bodapati
2022-5-26
Hi Umair,
Could you specify whether the figure contains confusion matrix or confusion chart? Also could you specify what type of data do you want to extract specifically? Attaching an example would help me answer your query with more specificity.
回答(2 个)
Chunru
2022-5-26
编辑:Chunru
2022-5-26
f = openfig('SqueezeNet-CM', 'visible');
h = findobj(f.Children(2).Children, 'Type', 'Text');
data = zeros(length(h), 1);
for i=1:length(h)
data(i) = sscanf(h(i).String, '%f');
end
m = 5;
data = reshape(data, [2*m m]);
data_number = data(4:2:end, 2:end)
data_number = data_number(end:-1:1, end:-1:1)
0 个评论
Bala Tripura Bodapati
2022-5-26
Hi Umair,
It is my understanding that you would like to extract the numeric values from confusion matrix plotted on a figure.
From the confusion matrix plotted using 'plotconfusion' function, there is no method to extract the numeric values.
Alternatively, you can plot the confusion matrix using the 'confusionchart' function on a figure and then extract the numeric values.
The following code illustrates the same:
load fisheriris
X = meas;
Y = species;
Mdl = fitcknn(X,Y,'NumNeighbors',5,'Standardize',1);
predictedY = resubPredict(Mdl);
fig=figure;
confusionchart(Y,predictedY);
'cm' is a confusion chart object. The 'NormalizedValues' property of this object outputs the numeric matrix:
matrix=cm.NormalizedValues
Also, refer the confusionchart documentation for more information on confusion chart and graphics hierarchy documentation for more information on accessing figure object and it's children.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!