Grid search
Hyperparameter-tuning kan in sklearn door verschillende invoerparameters aan te leveren, die je met functies uit numpy kunt genereren. Eén methode die alle combinaties van opgegeven hyperparameters in param_grid uitputtend doorzoekt, is grid search. In deze oefening gebruik je grid search om de hyperparameters van een voorbeeld van een random forest-classifier te verkennen, met als scoringsfunctie de AUC van de ROC-curve.
X_train, y_train, X_test, y_test zijn beschikbaar in je werkruimte. pandas als pd, numpy als np, en sklearn zijn ook beschikbaar in je werkruimte. Daarnaast is GridSearchCV() uit sklearn.model_selection beschikbaar.
Deze oefening maakt deel uit van de cursus
CTR voorspellen met Machine Learning in Python
Oefeninstructies
- Maak de lijst met waarden voor elke hyperparameter in
n_estimatorsenmax_depth. - Maak een random forest-classifier.
- Richt een grid search in om over alle hyperparametercombinaties te itereren.
- Print de beste AUC-score met
.best_score_, en de beste estimator die tot deze score leidde met.best_estimator_.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____)