¿Qué métodos existen para trabajar con variables categóricas?
sobes.tech AI
Respuesta de la IA
Las características categóricas en aprendizaje automático se trabajan principalmente de las siguientes maneras:
-
Codificación de etiquetas (Label Encoding) — a cada categoría se le asigna un número único. Es adecuada para categorías ordenadas, pero puede confundir al modelo si no hay un orden.
-
Codificación one-hot — se crea una característica binaria para cada categoría. Por ejemplo, la característica "Color" con categorías {rojo, azul, verde} se transforma en tres características binarias.
-
Codificación objetivo (Target Encoding) — las categorías se reemplazan por estadísticas de la variable objetivo (por ejemplo, el valor medio de la variable objetivo para cada categoría). Requiere precaución para evitar fuga de datos.
-
Codificación por frecuencia — las categorías se reemplazan por la frecuencia de su aparición en los datos.
-
Embeddings — para categorías con un gran número de valores únicos (por ejemplo, en NLP), se utilizan representaciones vectoriales entrenadas conjuntamente con el modelo.
La elección del método depende de la tarea, el modelo y el volumen de datos. Por ejemplo, para árboles de decisión suele ser suficiente con Label o One-Hot Encoding, mientras que para redes neuronales — embeddings.
Ejemplo de codificación one-hot en Python con pandas:
import pandas as pd
df = pd.DataFrame({'Color': ['rojo', 'azul', 'verde', 'azul']})
df_encoded = pd.get_dummies(df, columns=['Color'])
print(df_encoded)
Resultado:
Color_rojo Color_verde Color_azul
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1