Empilement de modèles II
Très bien, voici ce que vous avez fait jusqu’ici dans l’implémentation du stacking :
- Diviser les données d’entraînement en deux parties
- Entraîner plusieurs modèles sur la Partie 1
- Produire des prédictions sur la Partie 2
- Produire des prédictions sur les données de test
Votre objectif est maintenant de créer un modèle de second niveau en utilisant comme caractéristiques les prédictions des étapes 3 et 4. Ce modèle est donc entraîné sur les données de la Partie 2, puis vous pouvez générer des prédictions de stacking sur les données de test.
Les DataFrames part_2 et test sont déjà disponibles dans votre espace de travail. Les prédictions de Gradient Boosting et de Random Forest sont stockées dans ces DataFrames sous les noms « gbpred » et « rfpred », respectivement.
Cet exercice fait partie du cours
Gagner une compétition Kaggle en Python
Instructions
- Entraînez un modèle de régression linéaire sur les données de la Partie 2 en utilisant comme caractéristiques les prédictions des modèles Gradient Boosting et Random Forest.
- Produisez des prédictions sur les données de test en utilisant comme caractéristiques les prédictions des modèles Gradient Boosting et Random Forest.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
from sklearn.linear_model import LinearRegression
# Create linear regression model without the intercept
lr = LinearRegression(fit_intercept=False)
# Train 2nd level model on the Part 2 data
lr.____(part_2[['gb_pred', '____']], part_2.fare_amount)
# Make stacking predictions on the test data
test['stacking'] = lr.____(test[['gb_pred', '____']])
# Look at the model coefficients
print(lr.coef_)