CommencezCommencez gratuitement

Ajuster max_depth

Dans cet exercice, votre tâche est d'ajuster max_depth, le paramètre qui détermine la profondeur maximale à laquelle chaque arbre d'une itération de boosting peut croître. Des valeurs plus petites donnent des arbres plus peu profonds, et des valeurs plus grandes des arbres plus profonds.

Cette activité fait partie du cours

Amorçage de gradient avancé avec XGBoost

Voir le cours

Instructions de l’exercice

  • Créez une liste appelée max_depths pour stocker les valeurs de "max_depth" suivantes : 2, 5, 10 et 20.
  • Parcourez votre liste max_depths avec une boucle for.
  • Faites varier systématiquement "max_depth" à chaque itération de la boucle for et effectuez une validation croisée à 2 volets avec arrêt hâtif (5 itérations), 10 itérations de boosting, une mesure "rmse" et un seed de 123. Assurez-vous que le résultat est un DataFrame.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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"]))
Modifier et exécuter le code