Feature engineering (ingeniería de características)

Feature engineering (ingeniería de características) es el proceso de diseñar, transformar y seleccionar variables a partir de datos brutos para que un modelo de machine learning aprenda patrones relevantes y mejore su rendimiento predictivo.

Feature engineering, o ingeniería de características, es una etapa clave del ciclo de machine learning en la que se convierten los datos brutos en variables (features) útiles para que un modelo aprenda y prediga con mayor precisión.

Una característica es cualquier variable de entrada que el modelo utiliza para generar una predicción: puede ser un número (importe de compra), una categoría (canal de adquisición), una marca temporal (fecha/hora) o una transformación de varias de ellas (frecuencia de compra en los últimos 30 días, importe medio por pedido, ratio de aperturas de email, etc.).

En la práctica, la ingeniería de características suele incluir:

  • Selección de características: elegir qué variables son relevantes para la tarea (por ejemplo, predicción de churn) y descartar las que añaden ruido o redundancia.
  • Transformación: normalizar, escalar, codificar variables categóricas, agrupar valores, tratar valores atípicos o datos faltantes para que el modelo pueda procesarlos correctamente.
  • Creación de nuevas características: combinar o derivar variables (ratios, conteos, ventanas temporales, indicadores lógicos) que capturen mejor el comportamiento o el contexto de negocio.

Su importancia es crítica porque, en machine learning, la calidad de las características suele pesar más que la complejidad del algoritmo. Un buen trabajo de ingeniería de características:

  • Mejora la precisión del modelo al resaltar patrones relevantes en los datos.
  • Reduce el sobreajuste al eliminar ruido, duplicidades y variables irrelevantes.
  • Hace el modelo más interpretable, al construir variables que tienen sentido para negocio (p. ej., "valor de vida del cliente", "tiempo desde la última compra").
  • Alinea el modelo con el contexto de negocio, incorporando conocimiento experto del dominio (marketing, finanzas, producto, etc.).

En marketing digital y analítica, el feature engineering permite convertir eventos y logs sin procesar (clics, impresiones, sesiones, compras) en indicadores accionables que alimentan modelos de atribución, recomendación, propensión a compra o segmentación avanzada. Aunque existen herramientas de feature engineering automatizado, el diseño de buenas características sigue requiriendo criterio analítico y conocimiento del negocio.

Ejemplos

  • Ejemplo:
    En un modelo de predicción de churn para un eCommerce, a partir de las transacciones brutas se crean características como: número de pedidos en los últimos 90 días, importe total gastado en el último año, días desde la última compra y categoría favorita. Estas nuevas variables ayudan al modelo a distinguir clientes fieles de los que están a punto de abandonar.
  • Ejemplo:
    En campañas de email marketing, se transforman eventos de apertura y clic en características como: ratio de apertura de los últimos 10 envíos, ratio de clics, tiempo medio hasta la apertura y dispositivo más habitual. Con estas features, un modelo de machine learning puede predecir la probabilidad de que un usuario interactúe con el próximo envío.
  • Ejemplo:
    En un sistema de recomendación de contenidos, se combinan logs de navegación y datos de usuario para crear características como: temas más consumidos, hora del día con mayor actividad, tipo de dispositivo predominante y duración media de sesión. Estas features permiten recomendar artículos o vídeos más relevantes en tiempo real.

Preguntas frecuentes

¿Por qué la ingeniería de características es tan importante en machine learning?
Porque el rendimiento del modelo depende en gran medida de cómo se representen los datos. Un buen feature engineering extrae estructura y significado de los datos brutos, facilita que el algoritmo detecte patrones útiles, mejora la precisión y estabilidad del modelo y reduce el riesgo de sobreajuste, incluso usando modelos relativamente sencillos.
¿En qué se diferencia la ingeniería de características de la selección de características?
La ingeniería de características se centra en crear, transformar y preparar variables a partir de los datos brutos, mientras que la selección de características se ocupa de elegir, entre todas las variables disponibles (incluidas las creadas), cuáles se quedarán finalmente en el modelo. En una pipeline típica, primero se realiza feature engineering y después selección de características.
¿Se puede automatizar el feature engineering?
Existen herramientas y librerías que automatizan parte del proceso (por ejemplo, generación de agregados temporales, codificación de categorías o selección automática de variables). Sin embargo, el mejor resultado se obtiene combinando estas técnicas automáticas con conocimiento del dominio de negocio, para diseñar características que realmente representen el comportamiento de usuarios, clientes o procesos.

SINÓNIMOS

También conocido como: Diseño de características, Creación de variables para machine learning

ÚLTIMA REVISIÓN

Actualizado el: 01/10/2025