Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Overfitting y underfitting, Unidad 5 — Underfitting: causas habituales, 5.2 — Feature engineering insuficiente ·

Variables pobres

Variables pobres: cómo mejorar la feature engineering para evitar underfitting

Introducción

En el mundo de la ciencia de datos, la calidad y relevancia de las variables (features) utilizadas son fundamentales para construir modelos de machine learning efectivos. Las variables pobres, o features inadecuadas, pueden llevar a un underfitting, es decir, que nuestro modelo no se ajuste adecuadamente a los datos de entrenamiento ni generalice bien a nuevos conjuntos de datos. En este artículo, exploraremos el impacto de las variables pobres en la feature engineering y ofreceremos estrategias para mejorarlas.

Explicación principal con ejemplos

Las variables pobres pueden resultar de varios factores. Por ejemplo, una variable que no está relacionada con la tarea a realizar o que contiene información innecesaria puede afectar negativamente el rendimiento del modelo. Vamos a analizar esto a través de un ejemplo.

Supongamos que estamos trabajando en una tarea de clasificación binaria para predecir si un cliente abandonará nuestra empresa (churn prediction). En nuestro conjunto de datos, incluimos la variable "edad" de los clientes. Sin embargo, esta variable puede no ser relevante para predecir el churn, ya que los factores como la satisfacción del cliente, el nivel de compromiso o las interacciones con el servicio al cliente pueden tener un impacto mucho mayor.

Ejemplo de feature engineering inadecuado

import pandas as pd

# Ejemplo de conjunto de datos inadecuado
data = {
    'edad': [25, 30, 45, 60, 70],
    'satisfaccion': [4, 3, 5, 2, 1],
    'churn': [False, False, True, True, True]
}

df = pd.DataFrame(data)

# Visualización de las variables
print(df)

En este ejemplo, la variable "edad" es probablemente inadecuada para predecir el churn. Para mejorar esta feature engineering, podríamos realizar los siguientes pasos:

  1. Identificar variables relevantes: En lugar de usar solo la edad, podríamos incluir variables como "satisfacción del cliente", "nivel de compromiso" y "interacciones con el servicio al cliente".
  2. Generar nuevas variables: Podemos crear nuevas características a partir de las existentes, como "edad_media_satisfaccion", que puede proporcionar una mejor visión del comportamiento del cliente.
  3. Usar conocimientos del dominio: Consultar expertos en la industria para identificar variables importantes y relevantes.

Errores típicos / trampas

  1. Olvidar el contexto del negocio: Es común que los desarrolladores de modelos se concentren solo en las estadísticas de las variables sin considerar el contexto del negocio. Esto puede llevar a la inclusión de variables innecesarias.
  2. Sobrevaloración del big data: A veces, tener demasiados datos no garantiza un mejor modelo. Es importante seleccionar cuidadosamente las variables que realmente aportan valor al modelo.
  3. Ignorar la correlación con el objetivo: Las variables que no están correlacionadas con el objetivo de predicción pueden introducir ruido en lugar de información útil, lo cual puede llevar a un underfitting.

Checklist accionable

  1. Revisar las relaciones causales: Analiza si hay relaciones causales entre las variables y el objetivo.
  2. Generar nuevas características: Crea nuevas variables a partir de combinaciones o transformaciones de las existentes.
  3. Consultar expertos en dominio: Incluye variables que puedan ser relevantes basadas en el conocimiento especializado del negocio.
  4. Usar técnicas de reducción de dimensionalidad: Métodos como PCA (Análisis de Componentes Principales) pueden ayudar a identificar y eliminar características irrelevantes.
  5. Evaluación iterativa: Realiza pruebas con diferentes conjuntos de variables para evaluar su impacto en el rendimiento del modelo.

Cierre: Siguientes pasos

Para mejorar la feature engineering y evitar underfitting debido a variables pobres, es crucial tener una comprensión profunda del negocio y los datos. Al seguir las recomendaciones del checklist proporcionado, podrás asegurarte de que tus modelos estén bien equipados para generalizar y predecir con precisión.

  1. Invoque expertos en dominio: Consulta a expertos internos o externos para obtener una perspectiva valiosa sobre las variables relevantes.
  2. Realice pruebas iterativas: Continua probando diferentes combinaciones de características hasta encontrar el conjunto óptimo.
  3. Analiza la correlación: Evalúa la relación entre cada variable y el objetivo para identificar las más significativas.

Siguiendo estos pasos, podrás mejorar significativamente la calidad de tus modelos de machine learning, asegurando que estén basados en variables robustas y relevantes.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).