ComeçarComece de graça

Busca em grade com XGBoost

Agora que você aprendeu a ajustar parâmetros individualmente com XGBoost, vamos levar esse ajuste para o próximo nível usando os recursos GridSearch e RandomizedSearch do scikit-learn, com validação cruzada interna por meio das funções GridSearchCV e RandomizedSearchCV. Você vai usá-los para encontrar exaustivamente o melhor modelo a partir de um conjunto de valores possíveis, explorando vários parâmetros ao mesmo tempo. Mãos à obra, começando com GridSearchCV!

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 de valores para "colsample_bytree" (0.3, 0.7), uma lista com um único valor para "n_estimators" (50) e uma lista com 2 valores de "max_depth" (2, 5).
  • Instancie um objeto XGBRegressor chamado gbm.
  • Crie um objeto GridSearchCV chamado grid_mse, passando: a grade de parâmetros em param_grid, o XGBRegressor em estimator, "neg_mean_squared_error" em scoring e 4 em cv. Especifique também verbose=1 para entender melhor a saída.
  • Ajuste o objeto GridSearchCV a X e y.
  • Imprima os melhores valores de parâmetros e o menor RMSE, usando os atributos .best_params_ e .best_score_, respectivamente, de grid_mse.

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 = ____

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