ÎncepețiÎncepe gratuit

Căutare în grilă cu XGBoost

Acum că ai învățat să ajustezi parametrii individual în XGBoost, e momentul să duci optimizarea la nivelul următor folosind capabilitățile GridSearch și RandomizedSearch din scikit-learn, cu validare încrucișată internă prin funcțiile GridSearchCV și RandomizedSearchCV. Le vei folosi pentru a identifica exhaustiv cel mai bun model dintr-o colecție de valori posibile pentru mai mulți parametri simultan. Să începem cu GridSearchCV!

Acest exercițiu face parte din cursul

Gradient Boosting Extrem cu XGBoost

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o grilă de parametri numită gbm_param_grid, care să conțină o listă de valori pentru "colsample_bytree" (0.3, 0.7), o listă cu o singură valoare pentru "n_estimators" (50) și o listă cu 2 valori pentru "max_depth" (2, 5).
  • Instanțiază un obiect XGBRegressor numit gbm.
  • Creează un obiect GridSearchCV numit grid_mse, pasând: grila de parametri la param_grid, obiectul XGBRegressor la estimator, "neg_mean_squared_error" la scoring și 4 la cv. Specifică și verbose=1 pentru a înțelege mai bine rezultatele afișate.
  • Antrenează obiectul GridSearchCV pe X și y.
  • Afișează cele mai bune valori ale parametrilor și cel mai mic RMSE, folosind atributele .best_params_ și, respectiv, .best_score_ ale obiectului grid_mse.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____)))
Editează și rulează codul