Solved – When SVM can do multi-class classification itself, why do people still use (one vs one) or (one Vs many) classification

e1071rsvm

I used – library(e1071) which was able to predict all(10) of my classes in a single run. Now, why do people go for one Vs one and one Vs many approach? What is the benefit of those approaches?

Is it only library(e1071) that can do multi-class classification ?

Would the output or accuracy changes if the algorithm takes care of Multi-class Classification itself?

Thanks.

Best Answer

multi-class in any SVM package (including e1071) is either one vs one or one vs many. From the e1071 manual:

For multiclass-classification with k levels, k>2, libsvm uses the ‘one-against-one’-approach, in which k(k-1)/2 binary classifiers are trained; the appropriate class is found by a voting scheme.

SVMs are inherently two-class classifiers. They are not designed for multi-class classification so you have to do a voting scheme using one-vs-one or one-vs-many strategy.