Empilage de modèles II
D'accord, voici ce que vous avez fait jusqu'à maintenant dans l'implémentation de l'empilage :
- Séparer les données d'entraînement en deux parties
- Entraîner plusieurs modèles sur la Partie 1
- Générer des prédictions sur la Partie 2
- Générer des prédictions sur les données de test
Votre objectif est maintenant de créer un modèle de deuxième niveau en utilisant comme caractéristiques les prédictions issues des étapes 3 et 4. Ce modèle est donc entraîné sur les données de la Partie 2, puis vous pourrez produire des prédictions empilées 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 « gb_pred » et « rf_pred », respectivement.
Cette activité fait partie du cours
Remporter une compétition Kaggle en Python
Instructions de l’exercice
- 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.
- Générez 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 ce code d’exemple.
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_)