How to plot confusion matrix

7 次查看(过去 30 天)
I have performed my image segmentation using kmeans but need to get the confusion matrix. My image segmentation matrix for six(6) classes has numbers 1 to 6 in it which is perfect. On getting my trained classes BW_1,BW_2,BW_3,BW_4,BW_5,BW_6 I have in each only one's(1's) and zero's(0's) but need to create a single confusion matrix like in this link http://www.mathworks.com/help/nnet/ref/plotconfusion.html?searchHighlight=confusion%2520matrix

采纳的回答

Greg Heath
Greg Heath 2014-10-20
The function plotconfusion handles more than 2 classes. Replace the iris_dataset or simplecluster_dataset in the help and doc examples for plotconfusion
[x,t] = iris_dataset;
net = patternnet;
rng('default')
[net tr y e] = train(net,x,t);
NMSE = mse(e)/mean(var(t',1)) %0.0418
R2 = 1-NMSE %0.9582
plotconfusion(t,y);
Find the minimum number of hidden nodes that yields an acceptable result
Hope this helps.
Thank you for formally accepting my answer
Greg
  3 个评论
Greg Heath
Greg Heath 2014-10-21
That command assumes the input and target matrices are combined as in the MATLAB example database
help nndatasets
doc nndatasets
If your data is not formatted that way, then change the command to read the way your data is formatted.
bayoishola20
bayoishola20 2014-11-4
You said the command assumes that my input & target matrices are combined. please in the case where my target matrix are 6 different matrices and each contain only ones and zeros while the input has 1,2,3,4,5,6. How can I achieve this. Thanks in advance.

请先登录,再进行评论。

更多回答(1 个)

Star Strider
Star Strider 2014-10-20
编辑:Star Strider 2014-10-20
The Neural Network Toolbox confusion function will only let you plot (2x2) classification results. To plot more classes, use the Statistics Toolbox confusion function.
The crosstab function will give you the chi-squared statistic and the probability.
  7 个评论
Star Strider
Star Strider 2014-10-20
If you have vectors with your known and predicted classes, those are your inputs to your confusion matrix. I got the impression from your Question, specifically ‘My image segmentation matrix for six(6) classes has numbers 1 to 6 in it which is perfect.’ that you already had those and simply wanted to know how to create a confusion matrix for your 6 classes.
bayoishola20
bayoishola20 2014-10-20
编辑:bayoishola20 2014-10-20
Exactly! But am I to combine the trained classes(known, with 0's and 1's) so I could have a single matrix like the predicted or use them as they are? If so, please how do I do that?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by