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

4 views (last 30 days)
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
Edited: 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.

Karina Nanuck-Robertson
Karina Nanuck-Robertson on 16 Apr 2019
Not sure if this helps

Community Treasure Hunt

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

Start Hunting!