Kom igångKom igång gratis

Grid search med XGBoost

Nu när du har lärt dig att justera parametrar individuellt med XGBoost är det dags att ta parameterinställningen till nästa nivå. Det gör du med scikit-learns GridSearch- och RandomizedSearch-funktioner med inbyggd korsvalidering via GridSearchCV och RandomizedSearchCV. Med hjälp av dessa hittar du den bästa modellen genom att systematiskt söka igenom kombinationer av möjliga parametervärden för flera parametrar samtidigt. Vi börjar med GridSearchCV!

Den här övningen är en del av kursen

Extreme Gradient Boosting med XGBoost

Visa kurs

Övningsinstruktioner

  • Skapa ett parameternät kallat gbm_param_grid som innehåller en lista med "colsample_bytree"-värden (0.3, 0.7), en lista med ett enskilt värde för "n_estimators" (50) och en lista med 2 "max_depth"-värden (2, 5).
  • Instansiera ett XGBRegressor-objekt kallat gbm.
  • Skapa ett GridSearchCV-objekt kallat grid_mse och ange: parameternätet till param_grid, XGBRegressor till estimator, "neg_mean_squared_error" till scoring och 4 till cv. Ange också verbose=1 för att lättare förstå utdata.
  • Träna GridSearchCV-objektet på X och y.
  • Skriv ut de bästa parametervärdena och det lägsta RMSE-värdet med hjälp av attributen .best_params_ respektive .best_score_ för grid_mse.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Create the parameter grid: gbm_param_grid
gbm_param_grid = {
    '____': [____, ____],
    '____': [____],
    '____': [____, ____]
}

# Instantiate the regressor: gbm
gbm = ____

# Perform grid search: grid_mse
grid_mse = ____


# Fit grid_mse to the data
____

# Print the best parameters and lowest RMSE
print("Best parameters found: ", ____)
print("Lowest RMSE found: ", np.sqrt(np.abs(____)))
Redigera och kör kod