Zacznij terazZacznij za darmo

Dostrajanie max_depth

W tym ćwiczeniu dostroisz parametr max_depth, który określa maksymalną głębokość, jaką może osiągnąć każde drzewo w danej rundzie boostingu. Mniejsze wartości dają płytsze drzewa, a większe – głębsze.

To ćwiczenie jest częścią kursu

Extreme Gradient Boosting with XGBoost

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz listę o nazwie max_depths, która będzie przechowywać następujące wartości "max_depth": 2, 5, 10 i 20.
  • Iteruj po liście max_depths za pomocą pętli for.
  • W każdej iteracji pętli for systematycznie zmieniaj wartość "max_depth" i wykonuj 2-krotną walidację krzyżową z wczesnym zatrzymaniem (5 rund), 10 rundami boostingu, metryką "rmse" i ziarnem losowości (seed) równym 123. Zadbaj o to, aby wynik był zwracany jako DataFrame.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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"]))
Edytuj i uruchom kod