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
Anleitung zur Übung
- Erstelle eine Liste namens
max_depths, in der du die folgenden"max_depth"-Werte speicherst:2,5,10und20. - Iteriere mit einer
for-Schleife über deinemax_depths-Liste. - Variiere
"max_depth"in jeder Iteration derfor-Schleife systematisch und führe eine 2-fache Kreuzvalidierung mit Early Stopping (5Runden),10Boosting-Runden, einer Metrik von"rmse"und einemseedvon123durch. 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"]))