MATLAB Answers

Is there a way to plot a confusion matrix of the cross validation results?

31 views (last 30 days)
Hadeer tawfik
Hadeer tawfik on 30 Oct 2016
Edited: ROHAN JAIN on 30 Jun 2020
Can somebody tell me how to plot a confusion matrix of the crossval result?
CVMdl = crossval(classifier,'HoldOut',0.08);
k=kfoldLoss(CVMdl,'lossFun','classiferror','mode','average')
L = resubLoss(classifier,'LossFun','classiferror')
Accuracy = 1 - k
  2 Comments
ROHAN JAIN
ROHAN JAIN on 30 Jun 2020
Hi,
You can plot the confusion matrix easily by using the following function:
confusionchart(testlabels,labels_predicted)
where testlabels are the labels of the test set and labels_predicted refers to the labels that have been predicted by the LDA classifier using predict().
It automatically plots the confusion matrix. Further, you can also store it in a variable and access the values using the dot operator as mentioned below.
cvmat=confusionchart(testlabels,labels_predicted)
cval=cmat.NormalizedValues; % cval is the required matrix
Hope it helps!
Thanks

Sign in to comment.

Answers (2)

Santhana Raj
Santhana Raj on 11 May 2017
I am not aware of any method to plot confusion matrix. But usually I calculate the precision and recall from the true positives and true negatives. Some places I also use F-measure. Depending on your application, any of this might be a good measure to evaluate your classification algorithm.
Check wiki for the formulas for these.

Community Treasure Hunt

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

Start Hunting!