Create confusion matrix from LDA model

4 views (last 30 days)
Leon
Leon on 23 Feb 2024
Edited: Leon on 26 Feb 2024
It is easy to train an LDA model and find its accuracy by cross-validation as below:
Mdl = fitcdiscr(data, "Response_var_name", CrossVal="on");
validationAccuracy = 1 - kfoldLoss(Mdl, 'LossFun', 'ClassifError');
However, what is the easiest/best way to get the confusion matrix?
Thanks.

Accepted Answer

the cyclist
the cyclist on 23 Feb 2024
The ClassificationDiscrimant class has a predict function. You can input the predicted and actual labels into the confusionchart function.
  4 Comments
Leon
Leon on 23 Feb 2024
Edited: Leon on 26 Feb 2024
Good to know. Maybe I would be better to use kfoldPredict(), then?
the cyclist
the cyclist on 23 Feb 2024
Yes, I think that is sensible.
I have to admit, though, that I don't fully comprehend how kfoldPredict goes from this statement (from the documentation)
========================================================================
"For every fold, kfoldPredict predicts class labels for validation-fold observations using a classifier trained on training-fold observations."
========================================================================
-- to a single prediction for the model (as opposed to a prediction per fold, which is how I read that statement). It is presumably possible to use the debugger to step into the function and see exactly what it is doing, but I have not done that.

Sign in to comment.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!