Grid Search
Hyperparameter-Tuning kann in sklearn erfolgen, indem du verschiedene Eingabeparameter angibst, die jeweils mit Funktionen aus numpy erzeugt werden können. Eine Methode des Tunings, die alle Kombinationen der über param_grid angegebenen Hyperparameter erschöpfend prüft, ist die Grid Search. In dieser Übung verwendest du Grid Search, um die Hyperparameter für einen beispielhaften Random-Forest-Klassifikator zu durchsuchen, wobei die Bewertungsfunktion die AUC der ROC-Kurve ist.
X_train, y_train, X_test, y_test stehen in deinem Workspace bereit. pandas als pd, numpy als np und sklearn sind ebenfalls verfügbar. Zusätzlich steht GridSearchCV() aus sklearn.model_selection zur Verfügung.
Diese Übung ist Teil des Kurses
CTR-Vorhersage mit Machine Learning in Python
Anleitung zur Übung
- Erstelle die Wertelisten für die Hyperparameter
n_estimatorsundmax_depth. - Erstelle einen Random-Forest-Klassifikator.
- Richte eine Grid Search ein, die alle Hyperparameter-Kombinationen durchläuft.
- Gib den besten AUC-Score mit
.best_score_aus und den besten Schätzer, der zu diesem Score geführt hat, mit.best_estimator_.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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.____)