Pergunta

Ao criar um arquivo de treinamento do LIBSVM, como você diferencia entre um atributo nominal versus um atributo numérico? Estou tentando codificar certos atributos nominais como números inteiros, mas quero garantir que o LIBSVM não os interprete como valores numéricos. Infelizmente, o site da LibsVM parece ter muito pouca documentação. Docs de Pentaho Parece implicar que o LIBSVM faz essa distinção, mas ainda não estou claro como é feito.

Foi útil?

Solução

Não faça isso I'm trying to encode certain nominal attributes as integers.

Em vez disso, use um recurso binário separado para cada valor de cada atributo nominal.

A maneira como os SVMs são formulados, todos os atributos/recursos são numéricos e os rótulos de classe são nominais. Os atributos nominais são essencialmente falsificados usando recursos binários mutuamente exclusivos.

Outras dicas

Eu acho que você não pode fazer isso no LibsVM, Weka ou SVM-Light. Uma abordagem que você pode usar é usar algo como uma árvore de decisão para seus atributos nominais e SVM ou qualquer classificador baseado em distância para seus atributos numéricos e depois combinar os resultados. Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top