Cómo lidiar con un SVM con atributos categóricos


18

Tengo un espacio de 35 dimensiones (atributos). Mi problema analítico es simple de clasificación.

De las 35 dimensiones, más de 25 son categóricas y cada atributo toma más de 50 tipos de valores.

En ese escenario, la introducción de una variable ficticia tampoco funcionará para mí.

¿Cómo puedo ejecutar un SVM en un espacio que tiene muchos atributos categóricos?

Respuestas:


22
  1. Si está seguro de que el atributo categórico es realmente ordinal, simplemente trátelo como un atributo numérico.
  2. Si no, use algún truco de codificación para convertirlo en atributo numérico. Según la sugerencia del autor de libsvm, uno simplemente puede usar la codificación 1-de-K. Por ejemplo, suponga que un atributo de categoría unidimensional toma valor de . Simplemente conviértalo en números tridimensionales como , , . Por supuesto, esto incurrirá en dimensiones significativamente adicionales en su problema, pero creo que no es un problema serio para el solucionador SVM moderno (sin importar el tipo lineal o el tipo de núcleo que adopte).{UN,si,C}UN=(1,0 0,0 0)si=(0 0,1,0 0)C=(0 0,0 0,1)

+1 ¡Esto es lo que iba a decir también! Como comentario adicional, también agregaría que la partición recursiva a veces se usa para identificar dónde hacer mejores cortes en las características de valor continuo, para dividirlas en contenedores.
Kyle.

¡Interesante! La "partición recursiva" me suena un árbol (binario). ¿Alguna diferencia entre estas dos ideas? Además, SVM ya es capaz de manejar la función continua, ¿por qué debemos convertirla en contenedores (nuevamente, datos categóricos)?
pengsun.thu 01 de

3
¿No es suficiente crear variables ficticias k-1 para una variable categórica de nivel k? por ejemplo, A = (1,0,0), B = (0,1,0) aquí, omitiendo (0,0,1)?
Outlier

pregunta de seguimiento: ¿no se requiere una escala adicional de los datos 0-1 simulados?
AZhao
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.