2010-04-03 15 views
5

Al crear un archivo de entrenamiento libsvm, ¿cómo se diferencia entre un atributo nominal y un atributo numérico? Estoy intentando codificar ciertos atributos nominales como enteros, pero quiero asegurarme de que libsvm no los malinterprete como valores numéricos. Desafortunadamente, el sitio de libsvm parece tener muy poca documentación. Pentaho's docs parecen implicar que libsvm hace esta distinción, pero aún no estoy claro cómo se hace.Atributos nominales en LibSVM

Respuesta

9

No haga estoI'm trying to encode certain nominal attributes as integers.

Más bien, utilice una característica binaria separada para cada valor de cada atributo nominal.

La manera en que se formulan los SVM, todos los atributos/características son numéricos y las etiquetas de clase son nominales. Los atributos nominales son esencialmente falsos mediante el uso de características binarias mutuamente excluyentes.

0

Creo que no puedes hacer eso en libsvm, weka o SVM-light. Un enfoque que podría usar es usar algo como un árbol de decisión para sus atributos nominales y svm o cualquier clasificador basado en la distancia para sus atributos numéricos y luego combinar los resultados. Espero que ayude.