Justera max_depth
I den här övningen ska du justera max_depth – parametern som styr hur djupt varje träd i en boostringsrunda får växa. Lägre värden ger grundare träd och högre värden ger djupare träd.
Den här övningen är en del av kursen
Extreme Gradient Boosting med XGBoost
Övningsinstruktioner
- Skapa en lista med namnet
max_depthsför att lagra följande"max_depth"-värden:2,5,10och20. - Iterera över listan
max_depthsmed enfor-slinga. - Variera
"max_depth"systematiskt i varje iteration avfor-slingan och utför 2-faldig korsvalidering med tidig stoppning (5rundor),10boostringsrundor, måttet"rmse"och ettseed-värde på123. Se till att utdata är en DataFrame.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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"]))