Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Feature engineering, Unidad 12 — Mini-proyecto de feature engineering, 12.1 — Proyecto guiado ·

Selección de variables

Selección de variables

Introducción

La selección de variables es una etapa crucial en el proceso de feature engineering que puede marcar la diferencia entre un modelo de machine learning con rendimiento limitado y uno que funcione efectivamente. Esta tarea implica decidir cuáles variables (features) incorporar a tu conjunto de datos para mejorar el rendimiento del modelo y reducir el ruido innecesario. Es importante entender que no todas las variables disponibles son útiles, y algunas pueden incluso perjudicar el desempeño del modelo.

Explicación principal con ejemplos

La selección de variables implica un análisis riguroso y una toma de decisiones informadas basada en diversos criterios. En este ejemplo, consideraremos un conjunto de datos de ventas para un negocio local, y veremos cómo seleccionar las variables más relevantes.

Análisis del dataset

Primero, analizamos el conjunto de datos disponible:

import pandas as pd

# Cargar el dataset
df = pd.read_csv('ventas.csv')

# Visualizar las primeras filas
print(df.head())

Supongamos que nuestro dataset incluye variables como fecha, hora, cliente_id, producto_id, precio, cantidad_vendida, y más. Comenzamos por entender qué variables podrían ser relevantes para predecir el monto total vendido.

Creación de features

Creamos algunas nuevas características a partir de las existentes:

# Cálculo del valor total vendido por cada venta
df['valor_total'] = df['precio'] * df['cantidad_vendida']

# Seleccionar la fecha para extraer más información
df['año'] = pd.to_datetime(df['fecha']).dt.year
df['mes'] = pd.to_datetime(df['fecha']).dt.month

# Visualizar cambios en el dataset
print(df.head())

Selección de variables

Siguiendo los siguientes criterios, seleccionamos las variables más relevantes:

  • Relevancia: ¿La variable ayuda a predecir la respuesta?
  • Redundancia: ¿Hay otras variables que contienen información similar?
  • Influencia en el modelo: ¿Cuán efectiva es cada variable en mejorar el rendimiento del modelo?

Utilizamos técnicas estadísticas y visualización para apoyar nuestra selección:

# Distribución de las variables numéricas
df.describe()

# Correlación entre las variables numéricas
corr_matrix = df[['año', 'mes', 'precio', 'cantidad_vendida', 'valor_total']].corr()
print(corr_matrix)

Errores típicos / trampas

  1. Incluyendo características redundantes: No siempre es necesario incluir todas las variables relacionadas con la misma información.
  2. Omitir variables que tienen alta correlación con la respuesta: Las variables con alta correlación pueden ser útiles, pero también pueden introducir multicolinealidad en el modelo.
  3. Excluir variables relevantes por mala interpretación de los datos: Es común descartar variables solo porque no son obvias o directas.

Checklist accionable

1. Identificar las variables clave

  • Enumera todas las posibles variables que podrían ser relevantes.
  • Evalúa la relevancia de cada variable en relación con el objetivo del modelo.

2. Eliminar variables redundantes

  • Identifica y elimina variables que contienen información similar a otras.
  • Verifica la redundancia utilizando técnicas como correlación entre variables.

3. Analizar las distribuciones

  • Evalúa la distribución de las variables numéricas para identificar posibles datos atípicos o ruido.
  • Utiliza histogramas y boxplots para visualizar y analizar las distribuciones.

4. Establecer correlaciones

  • Calcula la correlación entre las variables numéricas y con la variable objetivo.
  • Identifica variables que tienen alta correlación y considera su inclusión o exclusión según el contexto del modelo.

5. Probar diferentes combinaciones

  • Prueba diferentes conjuntos de variables para ver cómo afectan al rendimiento del modelo.
  • Utiliza validación cruzada y métricas de evaluación para medir el desempeño del modelo.

Cierre con "Siguientes pasos"

Siguientes pasos

  1. Optimización del modelo: Una vez que se ha seleccionado una combinación óptima de variables, puedes proceder a optimizar los hiperparámetros del modelo.
  2. Evaluación avanzada: Realiza evaluaciones más detalladas utilizando técnicas como la validación cruzada y métricas adicionales para mejorar el rendimiento del modelo.
  3. Integrar en producción: Prepara el modelo para su implementación en entornos de producción, asegurándote de que sigue funcionando correctamente con los datos reales.

La selección de variables es un proceso iterativo que requiere una comprensión profunda del conjunto de datos y del problema a resolver. Con perseverancia y un enfoque metodológico, puedes mejorar significativamente el rendimiento de tus modelos de machine learning.

Contacto

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