Ajuster max_depth
Dans cet exercice, votre objectif est d'ajuster max_depth, le paramètre qui définit la profondeur maximale que chaque arbre peut atteindre dans un tour de boosting. Des valeurs plus petites produisent des arbres plus peu profonds, et des valeurs plus grandes des arbres plus profonds.
Cet exercice fait partie du cours
Extreme Gradient Boosting avec XGBoost
Instructions
- Créez une liste appelée
max_depthspour stocker les valeurs"max_depth"suivantes :2,5,10et20. - Parcourez votre liste
max_depthsà l'aide d'une bouclefor. - Faites varier systématiquement
"max_depth"à chaque itération de la boucleforet effectuez une validation croisée en 2 plis avec arrêt anticipé (5tours),10tours de boosting, une métrique"rmse", et unseedde123. Assurez-vous que la sortie est un DataFrame.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create your housing DMatrix
housing_dmatrix = xgb.DMatrix(data=X,label=y)
# Create the parameter dictionary
params = {"objective":"reg:squarederror"}
# Create list of max_depth values
max_depths = ____
best_rmse = []
# Systematically vary the max_depth
for curr_val in ____:
params["____"] = ____
# Perform cross-validation
cv_results = ____
# Append the final round rmse to best_rmse
best_rmse.append(cv_results["test-rmse-mean"].tail().values[-1])
# Print the resultant DataFrame
print(pd.DataFrame(list(zip(max_depths, best_rmse)),columns=["max_depth","best_rmse"]))