Začněte nyníZačněte zdarma

Ladění max_depth

V tomto cvičení budeš ladit parametr max_depth, který určuje maximální hloubku, do které může každý strom v jednom boosting kole vyrůst. Menší hodnoty vedou k mělčím stromům, větší hodnoty pak ke hlubším.

Toto cvičení je součástí kurzu

Extreme Gradient Boosting with XGBoost

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř seznam max_depths, který bude obsahovat následující hodnoty parametru "max_depth": 2, 5, 10 a 20.
  • Pomocí cyklu for projdi seznam max_depths.
  • V každé iteraci cyklu for systematicky měň hodnotu "max_depth" a proveď 2-násobnou křížovou validaci s předčasným zastavením (5 kol), 10 boosting koly, metrikou "rmse" a hodnotou seed nastavenou na 123. Výstup zajisti ve formátu DataFrame.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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"]))
Upravit a spustit kód