Cuando trabajas con modelos de machine learning, no basta con saber procesar datos numéricos. Las variables categóricas —como el tipo de motor de un auto o la especie de una flor— requieren un tratamiento completamente distinto para que los algoritmos puedan interpretarlas correctamente. Aquí se explican los dos métodos principales para convertir categorías de texto en atributos numéricos: la representación dummy y la representación one hot.
¿Por qué no se pueden usar números simples para representar categorías?
Imagina un dataset de autos donde el tipo de motor puede ser gasolina, diésel, eléctrico o híbrido. Si asignas gasolina = 1 y diésel = 2, el modelo podría intentar interpolar un valor como 1.5, buscando una categoría intermedia que no existe [1:52]. Eso sucede porque el algoritmo trata esos números como variables continuas tipo float y asume que hay valores intermedios válidos.
Este problema se presenta con las variables no ordinales, es decir, aquellas donde no existe una relación de orden entre las categorías. No tiene sentido decir que diésel está "después" de gasolina. Por eso, la comunidad de ciencia de datos adoptó representaciones más robustas como dummy y one hot [2:22].
¿Qué diferencia hay entre el mapeo dummy y el mapeo one hot?
Ambos métodos comparten la misma filosofía: convertir cadenas de texto en valores numéricos que el modelo pueda procesar sin caer en interpolaciones incorrectas. Sin embargo, tienen diferencias importantes.
¿Cuándo conviene usar la representación dummy?
La representación dummy es la más compacta que puedes obtener de tus datos [0:22]. Es preferible usarla cuando sabes de antemano que tus variables de entrada son linealmente independientes, lo que significa que no presentan un grado de correlación significativo entre sí [0:33]. Este concepto de independencia lineal cobrará más sentido al estudiar correlaciones, pero la regla general es:
- Usa mapeo dummy cuando las categorías son independientes entre sí.
- El resultado ocupa menos espacio en memoria.
- Funciona bien con datasets donde las categorías ya están bien definidas.
¿Qué ventaja ofrece la representación one hot?
El mapeo one hot genera atributos numéricos más extensos, pero tiene una ventaja clave: permite representar categorías que no estaban en el dataset original [1:02]. Piensa en un escenario donde entrenas tu modelo con ciertas categorías y luego se filtra un valor desconocido o una categoría nueva. Con one hot, el modelo puede manejar esa situación porque:
- Cada categoría se representa como un vector independiente.
- Un valor desconocido también obtiene una representación numérica válida.
- Es más robusto ante datos inesperados en producción.
¿Cómo se aplican estos métodos en datasets reales?
Los dos datasets que sirven como ejemplo práctico son el de autos y el de flores iris [2:52]. En el caso de las flores iris, la única variable categórica es la especie. En el de autos, existen varias variables categóricas como el tipo de motor, lo que ofrece más material para practicar ambos métodos.
La implementación se realiza en Python usando las librerías disponibles dentro de un notebook en Deepnote [2:40], donde se puede observar cómo:
- El mapeo dummy reduce las columnas resultantes.
- El mapeo one hot genera una columna por cada categoría posible.
- Ambos eliminan el riesgo de que el modelo interpole valores sin sentido.
Entender cuándo usar cada representación depende del contexto de tus datos y de si necesitas flexibilidad ante categorías nuevas. ¿Ya has trabajado con alguno de estos métodos en tus proyectos? Comparte tu experiencia en los comentarios.