Zacznij terazZacznij za darmo

Przeszukiwanie losowe z XGBoost

GridSearchCV potrafi być bardzo czasochłonne, dlatego w praktyce warto sięgnąć po RandomizedSearchCV — właśnie to zrobisz w tym ćwiczeniu. Dobra wiadomość: wystarczy tylko kilka drobnych zmian w kodzie GridSearchCV, żeby przejść na RandomizedSearchCV. Kluczowa różnica polega na tym, że zamiast parametru param_grid należy użyć parametru param_distributions.

To ćwiczenie jest częścią kursu

Extreme Gradient Boosting with XGBoost

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz siatkę parametrów o nazwie gbm_param_grid, która zawiera listę z jedną wartością dla 'n_estimators' (25) oraz listę wartości 'max_depth' z zakresu od 2 do 11 – użyj do tego range(2, 12).
  • Utwórz obiekt RandomizedSearchCV o nazwie randomized_mse, przekazując: siatkę parametrów do param_distributions, XGBRegressor do estimator, "neg_mean_squared_error" do scoring, 5 do n_iter oraz 4 do cv. Ustaw też verbose=1, żeby lepiej śledzić wyniki.
  • Dopasuj obiekt RandomizedSearchCV do X i y.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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_)))
Edytuj i uruchom kod