ÎncepețiÎncepe gratuit

Căutare aleatorie cu XGBoost

Adesea, GridSearchCV poate consuma mult timp, așa că în practică s-ar putea să preferi RandomizedSearchCV. Vestea bună este că trebuie să faci doar câteva modificări față de codul scris pentru GridSearchCV. Diferența esențială constă în faptul că trebuie să specifici parametrul param_distributions în loc de param_grid.

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 conține o listă cu o singură valoare pentru 'n_estimators' (25) și o listă de valori 'max_depth' între 2 și 11 — folosește range(2, 12) pentru aceasta.
  • Creează un obiect RandomizedSearchCV numit randomized_mse, pasând: grila de parametri la param_distributions, XGBRegressor la estimator, "neg_mean_squared_error" la scoring, 5 la n_iter și 4 la cv. Specifică și verbose=1 pentru a înțelege mai bine rezultatele afișate.
  • Antrenează obiectul RandomizedSearchCV pe X și y.

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 = 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_)))
Editează și rulează codul