Existem muitos métodos para a classificação de várias classes. Duas opções clássicas, que não são específicas do SVM, são:
Classificação de um contra todos (OVA):
suponha que você tenha as classes A, B, C e D. Em vez de fazer uma classificação de quatro vias, treine quatro classificadores binários: A vs. não-A, B vs. não-B , C vs. não-C e D vs. não-D. Em seguida, escolha a classe positiva que é "melhor" (por exemplo, mais afastada da margem nas quatro corridas). Se nenhuma das classificações for positiva (ou seja, todas elas não são X), escolha o "oposto" da classe que é pior (por exemplo, o mais próximo da margem).
Tudo contra todos:
Treine todos os pares possíveis de classificações. Classifique as classes por algum fator (por exemplo, número de vezes selecionado) e escolha o melhor.
O que funciona melhor foi controverso:
Duan e Keerthi têm um estudo empírico que sugere um método específico de tudo contra todos, enquanto Rifkin e Klautau defendem um esquema de um contra todos. Existem até esquemas em que se aprende códigos de correção de erros que descrevem os rótulos das classes, em vez dos próprios rótulos.
Boa sorte!
Edit: O que você realmente deseja, especialmente para o OVA, é a probabilidade posterior de cada classe. Para alguns métodos, como Naive Bayes, isso é trivial. Os SVMs normalmente não fornecem probabilidades, mas existem maneiras de calculá-las. Veja o artigo de John Platt, 1999, "Saídas probabilísticas para máquinas de vetores de suporte ..."
classes
faz no código? Parece ser inútil.