Zacznij terazZacznij za darmo

Przeszukiwanie siatki

Dostrajanie hiperparametrów można przeprowadzić za pomocą sklearn, podając różne wartości parametrów wejściowych – każdy z nich można zakodować przy użyciu funkcji z biblioteki numpy. Jedną z metod dostrajania jest przeszukiwanie siatki (ang. grid search), które sprawdza wszystkie kombinacje hiperparametrów określonych w param_grid. W tym ćwiczeniu użyjesz przeszukiwania siatki do zbadania hiperparametrów przykładowego klasyfikatora lasu losowego, stosując jako funkcję oceny AUC krzywej ROC.

W przestrzeni roboczej dostępne są: X_train, y_train, X_test, y_test. Zaimportowane są również: pandas jako pd, numpy jako np oraz sklearn. Dodatkowo dostępna jest funkcja GridSearchCV() z modułu sklearn.model_selection.

To ćwiczenie jest częścią kursu

Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz listy wartości dla każdego hiperparametru: n_estimators i max_depth.
  • Utwórz klasyfikator lasu losowego.
  • Skonfiguruj przeszukiwanie siatki, aby przejść przez wszystkie kombinacje hiperparametrów.
  • Wypisz najlepszy wynik AUC za pomocą .best_score_ oraz najlepszy estymator, który go osiągnął, za pomocą .best_estimator_.

Interaktywne ćwiczenie praktyczne

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

# Create list of hyperparameters 
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}

# Use Grid search CV to find best parameters 
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)
Edytuj i uruchom kod