LoslegenKostenlos starten

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

<Kurs>Extreme Gradient Boosting mit XGBoost</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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