Aan de slagGa gratis aan de slag

Grid search met XGBoost

Nu je hebt geleerd hoe je parameters afzonderlijk kunt afstemmen met XGBoost, tillen we je parameter-tuning naar een hoger niveau met de GridSearch- en RandomizedSearch-mogelijkheden van scikit-learn, met interne cross-validatie via de functies GridSearchCV en RandomizedSearchCV. Je gebruikt deze om het beste model te vinden uit een verzameling mogelijke parameterwaarden, over meerdere parameters tegelijk. Aan de slag — we beginnen met GridSearchCV!

Deze oefening maakt deel uit van de cursus

Extreme Gradient Boosting met XGBoost

Cursus bekijken

Oefeninstructies

  • Maak een parameterrooster gbm_param_grid met een lijst van "colsample_bytree"-waarden (0.3, 0.7), een lijst met één waarde voor "n_estimators" (50), en een lijst met 2 "max_depth"-waarden (2, 5).
  • Instantieer een XGBRegressor-object met de naam gbm.
  • Maak een GridSearchCV-object grid_mse en geef door: het parameterrooster aan param_grid, de XGBRegressor aan estimator, "neg_mean_squared_error" aan scoring, en 4 aan cv. Specificeer ook verbose=1 zodat je de uitvoer beter kunt begrijpen.
  • Fit het GridSearchCV-object op X en y.
  • Print de beste parameterwaarden en de laagste RMSE met respectievelijk de attributen .best_params_ en .best_score_ van grid_mse.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____)))
Code bewerken en uitvoeren