Grid search
Hyperparameterjustering kan utföras med sklearn genom att ange olika indataparametrar, som var och en kan kodas med funktioner från numpy. En metod för justering är grid search, som systematiskt går igenom alla kombinationer av indatahyperparametrar som anges via param_grid. I den här övningen använder du grid search för att undersöka hyperparametrarna för en enkel slumpskogsklassificerare, med AUC för ROC-kurvan som poängfunktion.
X_train, y_train, X_test och y_test finns tillgängliga i din arbetsyta. pandas som pd, numpy som np och sklearn är också tillgängliga. Dessutom är GridSearchCV() från sklearn.model_selection tillgänglig.
Den här övningen är en del av kursen
Förutsäga CTR med maskininlärning i Python
Övningsinstruktioner
- Skapa listan med värden för varje hyperparameter i
n_estimatorsochmax_depth. - Skapa en slumpskogsklassificerare.
- Ställ in ett grid search för att iterera över alla hyperparameterkombinationer.
- Skriv ut det bästa AUC-värdet med
.best_score_och den bästa estimatorn som ledde till detta värde med.best_estimator_.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____)