Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Modelos de regresión, Unidad 9 — Feature engineering para regresión, 9.1 — Selección de variables ·

Variables relevantes

Variables relevantes

La selección de variables es un paso crucial en la construcción de modelos de regresión. Una elección cuidadosa puede mejorar significativamente la precisión y el rendimiento del modelo, mientras que una mala elección puede llevar a resultados erróneos o ineficientes. En esta guía, exploraremos por qué importa seleccionar correctamente las variables relevantes para un modelo de regresión y cómo hacerlo de manera efectiva.

Introducción

En machine learning, la calidad del modelo depende en gran medida de los datos de entrada. Las variables irrelevantes o innecesarias pueden no solo desviar el modelo hacia resultados incorrectos, sino también reducir su rendimiento general. Por eso, es fundamental identificar y seleccionar las variables relevantes para un análisis de regresión.

Explicación principal

Exploración inicial y comprensión del problema

La selección de variables comienza con una comprensión profunda del dominio del problema y la exploración inicial de los datos. Esto implica:

  1. Análisis descriptivo: Calcular estadísticas básicas, como medias, desviaciones estándar y rangos de las variables.
  2. Visualización: Graficar variables para identificar relaciones lineales o no lineales.

Pruebas de correlación

Una forma efectiva de identificar variables relevantes es a través del cálculo de coeficientes de correlación, como el coeficiente de Pearson o Spearman. Estos indican la fuerza y dirección de las relaciones entre las variables y la variable objetivo.

import pandas as pd
import numpy as np
from scipy.stats import pearsonr

# Ejemplo de datos
data = {
    'X1': [1, 2, 3, 4, 5],
    'X2': [2, 3.5, 4, 6, 7],
    'Y': [3, 4, 6, 8, 9]
}

df = pd.DataFrame(data)

# Calcular correlación de Pearson
corr_X1_Y, _ = pearsonr(df['X1'], df['Y'])
corr_X2_Y, _ = pearsonr(df['X2'], df['Y'])

print(f"Correlación X1 con Y: {corr_X1_Y}")
print(f"Correlación X2 con Y: {corr_X2_Y}")

En este ejemplo, X2 tiene una correlación más fuerte con Y, por lo que es más probable que sea relevante para el modelo.

Métodos de selección de variables

Existen varias técnicas avanzadas para seleccionar variables relevantes:

  1. SelectKBest: Selecciona las k mejores características según un criterio estatístico.
  2. Recursive Feature Elimination (RFE): Elimina gradualmente las variables menos importantes hasta que solo se quedan con las más relevantes.
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.model_selection import train_test_split

X = df[['X1', 'X2']]
y = df['Y']

# Dividir el conjunto de datos en entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Aplicar SelectKBest con f_regression (coeficiente de correlación)
selector = SelectKBest(f_regression, k=1)
X_train_selected = selector.fit_transform(X_train, y_train)

Errores típicos / trampas

  1. Suposición de linealidad: Muchos métodos de selección de variables asumen una relación lineal entre las variables explicativas e independientes. Si no es así, puede ser necesario transformar las variables o utilizar técnicas más robustas.
  1. Overfitting: Seleccionar demasiadas variables puede llevar a overfitting, donde el modelo se ajusta demasiado al conjunto de entrenamiento y pierde capacidad para generalizar a nuevas muestras.
  1. Varios pasos de selección: Si se realiza la selección de variables en múltiples pasos (por ejemplo, usando diferentes técnicas), puede ser difícil interpretar los resultados y asegurarse de que no hay sesgos.

Checklist accionable

  1. Realiza un análisis descriptivo inicial.
  2. **Cálculo de coeficientes de correlación para identificar relaciones fuertes».
  3. **Utiliza métodos avanzados como SelectKBest o RFE».
  4. **Verifica la suposición de linealidad y realiza transformaciones si es necesario».
  5. **Divide tus datos en conjuntos de entrenamiento y prueba».

Cierre

La selección adecuada de variables para un modelo de regresión es fundamental para su éxito. Siguiendo estos pasos, puedes mejorar significativamente la precisión y eficiencia de tus modelos. Sin embargo, siempre es importante recordar que cada conjunto de datos es único y puede requerir ajustes específicos.

Siguientes pasos

  • Exploración adicional: Realiza una exploración más profunda del dominio para asegurar que las variables seleccionadas son relevantes.
  • Validación cruzada: Utiliza validación cruzada para evaluar la robustez de tus modelos.
  • Monitorización: Continúa monitorizando el rendimiento del modelo en producción para detectar cualquier drift de datos.

Contacto

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