2012-07-29 14 views
5

Estoy tratando de armar un modelo de regresión lineal, pero algunas de mis características no son numéricas, p. Ej. "Color del coche", mientras que otros son, por ejemplo, "Tamaño de la maquina". En casos no numéricos, no estoy seguro de cómo representar esto cuando lo agregue como una función de entrada. La única forma en que podría pensar en hacer esto sería representar cada color con un valor diferente, p. (rojo = 1, azul = 2, verde = 3 ...) sin embargo, esto no parece aceptable ya que esto implica que el verde es "mejor" que el rojo.regresión lineal utilizando categorías como características

¿Alguien puede ayudar? Estoy implementando esto en Java, así que agradecería un algoritmo expresado en este lenguaje o independiente del lenguaje.

+0

Hasta el momento ... Solo he utilizado destacados que no fueron categóricos. – JLove

Respuesta

9

Una forma de hacer esto es utilizar ficticia de codificación otra técnica es la codificación efecto.

Por favor, consulte este artículo para obtener más detalles, creo que el autor ha explicado mejor que lo que puedo hacer aquí.

Coding Categorical Variables in Regression Models: Dummy and Effect Coding by Resmi Gupta

supongo que esta solución sería caer en la categoría de lenguaje independiente;)

para codificar el color del coche (estoy asumiendo color del coche puede tomar sólo 3 valores: rojo, azul, verde)

puede codificar de la siguiente manera:

Color Dummy_Var_One Dummy_Var_Two 

Red  1    0 
Blue  0    1 
Green  0    0 

En la tabla anterior Green se convertirá en referencia lev el En su caso, si su color toma valores de n, deberá incluir n-1 variables ficticias.

Una implementación en Java se puede encontrar en el filtro NominalToBinaryWeka, aunque esto creará n variables para las categorías n.

+0

Respuesta fantástica ... aplausos – JLove

+0

Necesito saber qué sucede si utilizo las tres variables ficticias ..IS_RED, IS_GREEN & IS_BLUE ... esto da más resultados independientes o no hay diferencia. –

Cuestiones relacionadas