Zacznij terazZacznij za darmo

Przeszukiwanie siatki z XGBoost

Wiesz już, jak dostrajać parametry XGBoost pojedynczo. Czas pójść o krok dalej – wykorzystaj możliwości GridSearch i RandomizedSearch z biblioteki scikit-learn, wzbogacone o wewnętrzną walidację krzyżową realizowaną przez funkcje GridSearchCV i RandomizedSearchCV. Dzięki nim znajdziesz najlepszy model, przeszukując wyczerpująco wszystkie kombinacje wartości wielu parametrów jednocześnie. Zacznijmy od GridSearchCV!

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ę wartości "colsample_bytree" (0.3, 0.7), listę z pojedynczą wartością "n_estimators" (50) oraz listę 2 wartości "max_depth" (2, 5).
  • Utwórz instancję obiektu XGBRegressor o nazwie gbm.
  • Utwórz obiekt GridSearchCV o nazwie grid_mse, przekazując: siatkę parametrów do param_grid, obiekt XGBRegressor do estimator, "neg_mean_squared_error" do scoring oraz 4 do cv. Podaj też verbose=1, aby lepiej śledzić wyniki.
  • Dopasuj obiekt GridSearchCV do X i y.
  • Wyświetl najlepsze wartości parametrów oraz najniższy wynik RMSE, korzystając odpowiednio z atrybutów .best_params_ i .best_score_ obiektu grid_mse.

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

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