Can Support Vector Machine algorithm be used for classification into more than two categories?




While reading about the SVM, I got a doubt whether it can be used for classification into more than two categories or is it just a binary classifier? If it is binary, do we have any variation of SVM to classify into more than two categories?



I would not be able to comment on other software implementation or for that matter whether an algorithm for multi-class classification in SVM exisits, but the classification algorithm for SVM, according to e1071 vignette in R, is binary. For multi-class classification, svm() runs binary subclassifiers (one-on-one) and then uses a voting mechanism to determine actual class. E.g. in the iris dataset to classify the Species svm() will first run a classifier for setosa vs versicolor, then versicolor vs virginca, then setosa vs virginica and then determine the class based on a voting mechanism. Thus for k-classes you will have k(k-1)/2 classifiers.

Go through the R package e1071 vignette for more details.