LoslegenKostenlos loslegen

max_depth abstimmen

In dieser Übung stimmst du max_depth ab. Dieser Parameter gibt die maximale Tiefe an, bis zu der jeder Baum in einer Boosting-Runde wachsen darf. Kleinere Werte führen zu flacheren Bäumen, größere Werte zu tieferen Bäumen.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Liste namens max_depths, in der du die folgenden "max_depth"-Werte speicherst: 2, 5, 10 und 20.
  • Iteriere mit einer for-Schleife über deine max_depths-Liste.
  • Variiere "max_depth" in jeder Iteration der for-Schleife systematisch und führe eine 2-fache Kreuzvalidierung mit Early Stopping (5 Runden), 10 Boosting-Runden, einer Metrik von "rmse" und einem seed von 123 durch. Stelle sicher, dass die Ausgabe ein DataFrame ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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"]))
Code bearbeiten und ausführen