How to train an SVM classifier and calculate performance

12 views (last 30 days)
Hi all,
I was already browsing through some similar question, but I still don't understand completely how to train an SVM classifier with matlab and afterwards calculate performance measures like AUC, Accuracy asf.
I managed to use fitcsvm to train a classifier and using leave-one-out cross-validation:
model=fitcsvm(data,groups,'Standardize',true,'ClassNames',{'group1','group2'},'Leaveout','on')
This works well, but how to calculate performance measures of my classifier after this step and plot the results?

Answers (2)

Swarooph
Swarooph on 1 Aug 2016
You could do one of several things:
1. Resubstitution Loss calculation using resubLoss function
2. Loss calculation using loss function
  2 Comments
holistic
holistic on 2 Aug 2016
Thank you! Perfcurve is what I want, but I'm not sure how to initialize it with the output from fitcsvm after leave-one-out cross-validation, i.e. where to find the "scores"?
Swarooph
Swarooph on 2 Aug 2016
If you look at the examples in the documentation, it seems to be using fitPosterior followed by resubPredict function.

Sign in to comment.


Samaneh Nemati
Samaneh Nemati on 2 Dec 2019
you need to pass the output of svm classification (model) to predict function to get "label" and "scores".

Community Treasure Hunt

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

Start Hunting!