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
Instrukcje do ćwiczenia
- Utwórz listy wartości dla każdego hiperparametru:
n_estimatorsimax_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.____)