Mario Alexander Vargas Celis
La selección de variables (también llamada selección de características o feature selection) es una etapa crítica en el desarrollo de modelos de aprendizaje automático. Consiste en identificar y conservar las variables más relevantes para el modelo, eliminando aquellas que no aportan valor o que introducen ruido. Esto mejora el rendimiento del modelo, reduce el sobreajuste (overfitting) y disminuye el costo computacional.
¿Por qué es importante la selección de variables?
- 🔍 Mejora la interpretabilidad del modelo.
- 🚀 Acelera el entrenamiento y predicción.
- 🔐 Reduce el riesgo de sobreajuste.
- 📉 Elimina la redundancia y la irrelevancia.
Tipos de Métodos de Selección de Variables
1. Métodos de Filtro (Filter Methods)
Se basan en estadísticas generales de los datos, independientes del modelo.
- Correlación de Pearson
- Chi-cuadrado
- ANOVA (f_classif)
- Mutual Information
from sklearn.feature_selection import SelectKBest, f_classif
selector = SelectKBest(score_func=f_classif, k=5) X_new = selector.fit_transform(X, y)
2. Métodos de Envoltura (Wrapper Methods)
Evalúan múltiples subconjuntos de variables utilizando el modelo de aprendizaje.
- Recursive Feature Elimination (RFE)
- Sequential Feature Selection (SFS)
from sklearn.feature_selection import RFE from sklearn.linear_model import LogisticRegression
model = LogisticRegression() rfe = RFE(model, n_features_to_select=5) X_new = rfe.fit_transform(X, y)
3. Métodos de Inserción (Embedded Methods)
La selección se realiza durante el entrenamiento del modelo.
- Regresión Lasso (L1 regularización)
- Árboles de decisión y modelos basados en árboles (Random Forest, XGBoost)
from sklearn.linear_model import LassoCV
model = LassoCV() model.fit(X, y) importance = model.coef_
Buenas prácticas
✅ Escalar los datos si el método lo requiere. ✅ Usar validación cruzada para evitar sobreajuste. ✅ Probar múltiples métodos y comparar resultados. ✅ Visualizar la importancia de las variables.
