Kom igångKom igång gratis

Slumpmässig sökning med XGBoost

I praktiken kan GridSearchCV vara mycket tidskrävande, så du kanske föredrar att använda RandomizedSearchCV i stället – vilket du gör i den här övningen. Det bästa är att du bara behöver göra några få ändringar i din GridSearchCV-kod. Den viktigaste skillnaden är att du anger parametern param_distributions i stället för param_grid.

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

Extreme Gradient Boosting med XGBoost

Visa kurs

Övningsinstruktioner

  • Skapa ett parameterrutnät kallat gbm_param_grid som innehåller en lista med ett enda värde för 'n_estimators' (25), samt en lista med 'max_depth'-värden mellan 2 och 11 – använd range(2, 12) för detta.
  • Skapa ett RandomizedSearchCV-objekt kallat randomized_mse och skicka in: parameterrutnätet till param_distributions, XGBRegressor till estimator, "neg_mean_squared_error" till scoring, 5 till n_iter och 4 till cv. Ange även verbose=1 för att lättare förstå utdata.
  • Anpassa RandomizedSearchCV-objektet till X och y.

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 = xgb.XGBRegressor(n_estimators=10)

# Perform random search: grid_mse
randomized_mse = ____


# Fit randomized_mse to the data
____

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