ComeçarComece de graça

Busca aleatória com XGBoost

Muitas vezes, o GridSearchCV pode ser bem demorado; por isso, na prática, você pode preferir usar RandomizedSearchCV, como fará neste exercício. A boa notícia é que você só precisa fazer poucas modificações no seu código de GridSearchCV para usar RandomizedSearchCV. A diferença principal é que você deve especificar um parâmetro param_distributions em vez de param_grid.

Este exercício faz parte do curso

Extreme Gradient Boosting com XGBoost

Ver curso

Instruções do exercício

  • Crie uma grade de parâmetros chamada gbm_param_grid que contenha: uma lista com um único valor para 'n_estimators' (25) e uma lista de valores de 'max_depth' entre 2 e 11 para 'max_depth' — use range(2, 12) para isso.
  • Crie um objeto RandomizedSearchCV chamado randomized_mse, passando: a grade de parâmetros em param_distributions, o XGBRegressor em estimator, "neg_mean_squared_error" em scoring, 5 em n_iter e 4 em cv. Também especifique verbose=1 para entender melhor as saídas.
  • Faça o ajuste (fit) do objeto RandomizedSearchCV em X e y.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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_)))
Editar e executar o código