ÎncepețiÎncepe gratuit

Reglarea max_depth

În acest exercițiu, vei regla max_depth – parametrul care determină adâncimea maximă la care poate crește fiecare arbore dintr-o rundă de boosting. Valorile mai mici duc la arbori mai puțin adânci, iar valorile mai mari duc la arbori mai adânci.

Acest exercițiu face parte din cursul

Gradient Boosting Extrem cu XGBoost

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o listă numită max_depths care să conțină următoarele valori pentru "max_depth": 2, 5, 10 și 20.
  • Parcurge lista max_depths folosind o buclă for.
  • Variază sistematic "max_depth" la fiecare iterație a buclei for și realizează validare încrucișată cu 2 pliuri, cu oprire timpurie (5 runde), 10 runde de boosting, metrica "rmse" și un seed de 123. Asigură-te că rezultatul este un DataFrame.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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"]))
Editează și rulează codul