Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Classification score: SVM

I am using libsvm for multi-class classification. How can I attach classification scores, to compare the confidence of classification, with the output for a given sample as:

Class 1: score1

Class 2: score2

Class 3: score3

Class 4: score4
like image 628
Xolve Avatar asked Jun 18 '11 12:06

Xolve


People also ask

What is score in SVM?

SVM Scoring Function A Support Vector Machine is a binary (two class) classifier; if the output of the scoring function is negative then the input is classified as belonging to class y = -1. If the score is positive, the input is classified as belonging to class y = 1.

What is classification in SVM?

Overview of SVM Classification In SVM Classification, the data can be either linear or non-linear. There are different kernels that can be set in an SVM Classifier. For a linear dataset, we can set the kernel as 'linear'. On the other hand, for a non-linear dataset, there are two kernels, namely 'rbf' and 'polynomial'.

What is the accuracy score in SVM?

The SVM classifier we defined above gives a 98% accuracy on the digits dataset. The confusion matrix analysis shows that the model is performing really well.

How do you evaluate SVM performance?

To assess the accuracy of your SVM for your particular dataset use the bootstrap technique. Sample with replacement from your training data (performing CV on the sample if you wish to find the optimal hypers) n times (1000 is great, but do what you can) and then evaluate on your testing (all of it, no sampling).


2 Answers

You can use one vs all approach first and consider them as 2class classification by having the decision value option in the libSVM. This is done by having the each class as positive class and rest of the class as negative for each classification.

Then compare the decision values of the results to classify the samples. Like you can assign the sample to the class which has the highest decision values. For example, sample 1 has decision value 0.54 for class 1, 0.64 for class 2, 0.43 for class 3 and 0.80 for class4, then you can classify it to class4.

You can also use probability values to classify instead of decision function values by using -b option in libSVM.

Hope this helps..

like image 100
Mullaly Avatar answered Oct 12 '22 08:10

Mullaly


Another option is to use the LIBLINEAR package which internally implements one-vs-all strategy for solving multi-class problem. In LIBSVM, this implementation is based on one-vs-one strategy.

like image 32
Ayan Avatar answered Oct 12 '22 07:10

Ayan