Fusion de modèles (blending)
Vous allez commencer à créer des ensembles de modèles avec une technique de blending.
Votre objectif est d'entraîner deux modèles différents sur les données de la compétition New York City Taxi. Faites des prédictions sur les données de test, puis fusionnez-les à l'aide d'une moyenne arithmétique simple.
Les DataFrames train et test sont déjà disponibles dans votre espace de travail. features est une liste de colonnes à utiliser pour l'entraînement et est également disponible. La variable cible s'appelle « fare_amount ».
Cette activité fait partie du cours
Remporter une compétition Kaggle en Python
Instructions de l’exercice
- Entraînez un modèle Gradient Boosting sur les données d'entraînement en utilisant la liste
features, et la colonne « fare_amount » comme variable cible. - Entraînez un modèle Random Forest de la même manière.
- Faites des prédictions sur les données de test avec les modèles Gradient Boosting et Random Forest.
- Calculez la moyenne des prédictions des deux modèles.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
# Train a Gradient Boosting model
gb = GradientBoostingRegressor().____(____[features], ____.fare_amount)
# Train a Random Forest model
rf = RandomForestRegressor().____(____[features], ____.fare_amount)
# Make predictions on the test data
test['gb_pred'] = ____.____(test[features])
test['rf_pred'] = ____.____(test[features])
# Find mean of model predictions
test['blend'] = (____[____] + ____[____]) / 2
print(test[['gb_pred', 'rf_pred', 'blend']].head(3))