Valider votre modèle XGBoost par validation croisée
Dans cet exercice, vous allez plus loin en utilisant le pipeline que vous avez créé pour prétraiter ET valider votre modèle par validation croisée.
Cet exercice fait partie du cours
Extreme Gradient Boosting avec XGBoost
Instructions
- Créez un pipeline appelé
xgb_pipelineà partir desteps. - Effectuez une validation croisée à 10 plis avec
cross_val_score(). Vous devez transmettre le pipeline,X(sous forme de dictionnaire, via.to_dict("records")),y, le nombre de plis à utiliser, ainsi quescoring("neg_mean_squared_error"). - Affichez la RMSE à 10 plis.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import necessary modules
from sklearn.feature_extraction import DictVectorizer
from sklearn.pipeline import Pipeline
from sklearn.model_selection import cross_val_score
# Fill LotFrontage missing values with 0
X.LotFrontage = ____
# Setup the pipeline steps: steps
steps = [("ohe_onestep", DictVectorizer(sparse=False)),
("xgb_model", xgb.XGBRegressor(max_depth=2, objective="reg:squarederror"))]
# Create the pipeline: xgb_pipeline
xgb_pipeline = ____
# Cross-validate the model
cross_val_scores = ____
# Print the 10-fold RMSE
print("10-fold RMSE: ", np.mean(np.sqrt(np.abs(____))))