Descartar una de las columnas cuando se utiliza la codificación hot-one

22

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_maley is_femaleproduce 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?

dasboth
fuente
8
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".
ttnphns
El conjunto de todos los k dummies es el conjunto multicolineal porque si conoce los valores de k-1 dummies en los datos, sabrá automáticamente los valores de ese último dummy. Algunos métodos o algoritmos de análisis de datos requieren que elimine uno de los k. Otros son capaces de hacer frente a todos los k.
ttnphns
@ttnphns: gracias, eso tiene sentido. ¿Mantener todos los valores de k teóricamente los hace características más débiles que podrían / ​​deberían eliminarse con la reducción de dimensionalidad? Uno de los argumentos para usar algo como PCA es a menudo eliminar características correlacionadas / redundantes, me pregunto si mantener todas las k variables cae en esa categoría.
dasboth
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 PCATenga 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)).
ttnphns
Lo que quiero decir es que cuando usa su modelo para evaluar la importancia de la característica (por ejemplo, con un bosque aleatorio), ¿subestimará la importancia de esa variable si incluye todos los valores de k? Como en, ¿obtienes una estimación "más verdadera" de la importancia del género si solo estás usando una is_malevariable 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).
dasboth

Respuestas:

23

lmglm

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 .

β,β2,β3β1=0 0β2-β1,β3-β1

kjetil b halvorsen
fuente
Estoy de acuerdo en que la elección de la variable de referencia afectará el resultado de la regresión regularizada, pero no estoy muy seguro de si dejar todas las variables como está es mejor que descartar una. ¿Tienes alguna razón para eso?
Kota Mori
Bueno, solo dos alternativas ... Mantener todos los niveles mantiene la invariancia y no hay arbitrariedad. Si tiene otras razones para reducir el número de niveles, como muchos de ellos, debe informarnos al respecto
Kjetil b halvorsen