Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en lista med namnet max_depths för att lagra följande "max_depth"-värden: 2, 5, 10 och 20.
  • Iterera över listan max_depths med en for-slinga.
  • Variera "max_depth" systematiskt i varje iteration av for-slingan och utför 2-faldig korsvalidering med tidig stoppning (5 rundor), 10 boostringsrundor, måttet "rmse" och ett seed-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"]))
Redigera och kör kod