¡Hola a todos! Hoy vamos a explorar los modelos de ensamble, una de las técnicas más poderosas del Machine Learning. Si alguna vez te has preguntado cómo mejorar la precisión de tus modelos más allá de un solo algoritmo, los ensambles son la respuesta.

¿Qué son los Modelos de Ensamble?
Los modelos de ensamble combinan múltiples algoritmos de aprendizaje para obtener mejores resultados que cualquiera de ellos por separado. Tres tipos principales:
- Bagging: Entrena múltiples modelos en paralelo (ej. Random Forest)
- Boosting: Entrena modelos secuencialmente, corrigiendo errores (ej. Gradient Boosting, XGBoost)
- Stacking: Combina predicciones de varios modelos como entrada para un meta-modelo
Código Práctico
import numpy as np
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
X, y = make_classification(n_samples=1000, n_features=5, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
print(f"RF Accuracy: {accuracy_score(y_test, rf.predict(X_test)):.4f}")
gb = GradientBoostingClassifier(n_estimators=100, random_state=42)
gb.fit(X_train, y_train)
print(f"GB Accuracy: {accuracy_score(y_test, gb.predict(X_test)):.4f}")
📊 Salida:
RF Accuracy: 0.9200
GB Accuracy: 0.9233
¿Cuándo usar cada uno?
| Característica | Random Forest | Gradient Boosting |
|---|---|---|
| Velocidad | Paralelo, rápido | Secuencial, más lento |
| Overfitting | Robusto | Requiere regularización |
| Precisión | Buena | Generalmente superior |
Conclusión
Random Forest es excelente para tener un buen baseline. Gradient Boosting (XGBoost, LightGBM) suele dar los mejores resultados.
🤖 Automatiza tu trading en 5 días con Python
Únete a mi Mini-Curso gratuito por email. Aprende a extraer datos reales, crear indicadores cuantitativos y hacer backtesting profesional.