How to train an SVM classifier and calculate performance

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)

You could do one of several things:
1. Resubstitution Loss calculation using resubLoss function
2. Loss calculation using loss function

2 Comments

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"?
If you look at the examples in the documentation, it seems to be using fitPosterior followed by resubPredict function.

Sign in to comment.

you need to pass the output of svm classification (model) to predict function to get "label" and "scores".

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Asked:

on 1 Aug 2016

Answered:

on 2 Dec 2019

Community Treasure Hunt

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

Start Hunting!