Retour à la régression avec le stacking
Au chapitre 1, nous avons traité les notes des applications comme un problème de régression, en prédisant une note sur l’intervalle de 1 à 5. Jusqu’ici dans ce chapitre, nous l’avons abordé comme un problème de classification, en arrondissant la note à l’entier le plus proche. Pour nous exercer avec StackingRegressor, revenons à l’approche par régression.
Comme d’habitude, les variables d’entrée ont été normalisées pour vous avec un StandardScaler().
La MAE (mean absolute error) est la métrique d’évaluation. Au chapitre 1, la MAE était d’environ 0.61. Voyons si la méthode d’ensemble stacking peut réduire cette erreur.
Cet exercice fait partie du cours
Méthodes d’ensemble en Python
Instructions
- Instanciez un arbre de décision pour la régression avec :
min_samples_leaf = 11etmin_samples_split = 33. - Instanciez la régression linéaire par défaut.
- Instanciez un modèle de régression
Ridgeavecrandom_state = 500. - Construisez et ajustez un
StackingRegressor, en passant lesregressorset lemeta_regressor.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Instantiate the 1st-layer regressors
reg_dt = ____(____, ____, random_state=500)
reg_lr = ____
reg_ridge = ____
# Instantiate the 2nd-layer regressor
reg_meta = LinearRegression()
# Build the Stacking regressor
reg_stack = ____
reg_stack.____
# Evaluate the performance on the test set using the MAE metric
pred = reg_stack.predict(X_test)
print('MAE: {:.3f}'.format(mean_absolute_error(y_test, pred)))