Tengo entendido que en el aprendizaje automático puede ser un problema si su conjunto de datos tiene características altamente correlacionadas, ya que codifican efectivamente la misma información.
Recientemente, alguien señaló que cuando realiza una codificación de una sola vez en una variable categórica, termina con características correlacionadas, por lo que debe descartar una de ellas como "referencia".
Por ejemplo, codificar el género como dos variables is_male
y is_female
produce dos características que están perfectamente correlacionadas negativamente, por lo que sugirieron simplemente usar una de ellas, establecer efectivamente la línea base para decir masculino y luego ver si la columna is_female es importante en el algoritmo predictivo .
Eso tenía sentido para mí, pero no he encontrado nada en línea que sugiera que este sea el caso, entonces, ¿está mal o me estoy perdiendo algo?
Posible duplicado (sin respuesta): ¿Importa la colinealidad de las funciones codificadas en caliente para SVM y LogReg?
you end up with correlated features, so you should drop one of them as a "reference"
Las variables ficticias o las variables indicadoras (estos son los dos nombres utilizados en estadística, sinónimo de "codificación única" en el aprendizaje automático) están correlacionadas por pares de todos modos, ya sean todas las variables k o k-1. Entonces, la mejor palabra es "estadísticamente / informativamente redundante" en lugar de "correlacionado".Does keeping all k values theoretically make them weaker features
. No (aunque no estoy 100% seguro de lo que quieres decir con "más débil").using something like PCA
Tenga en cuenta, por si acaso, que PCA en un conjunto de dummies que representan una misma variable categórica tiene poco punto práctico porque las correlaciones dentro del conjunto de dummies reflejan simplemente las relaciones entre las frecuencias de categoría (por lo tanto, si todas las frecuencias son iguales, todas las correlaciones son iguales) a 1 / (k-1)).is_male
variable en lugar de ambas opciones? Tal vez eso no tenga sentido en este contexto, y podría ser solo un problema cuando tiene dos variables diferentes que realmente codifican la misma información (por ejemplo, altura en pulgadas y altura en cm).Respuestas:
lm
glm
Con otros modelos, use los mismos principios. Si las predicciones obtenidas dependen de las columnas que omita, entonces no lo haga. De lo contrario, está bien.
Hasta ahora, esta respuesta solo menciona modelos lineales (y algunos ligeramente no lineales). Pero, ¿qué pasa con los modelos muy no lineales, como los árboles y los bosques aleatorios? Las ideas sobre codificación categórica, como one-hot, se derivan principalmente de modelos lineales y extensiones. ¡Hay pocas razones para pensar que las ideas derivadas de ese contexto deberían aplicarse sin modificación para árboles y bosques! para algunas ideas, vea Regresión forestal aleatoria con datos escasos en Python .
fuente