Recherche par grille
L’optimisation des hyperparamètres peut être effectuée avec sklearn en fournissant différents paramètres d’entrée, chacun pouvant être généré via diverses fonctions de numpy. Une méthode d’optimisation, qui examine exhaustivement toutes les combinaisons d’hyperparamètres spécifiées via param_grid, est la recherche par grille (grid search). Dans cet exercice, vous utiliserez une recherche par grille pour parcourir les hyperparamètres d’un exemple de classifieur Random Forest avec, comme fonction d’évaluation, l’AUC de la courbe ROC.
X_train, y_train, X_test, y_test sont disponibles dans votre espace de travail. pandas en tant que pd, numpy en tant que np, et sklearn sont également disponibles. En outre, GridSearchCV() de sklearn.model_selection est disponible.
Cet exercice fait partie du cours
Prédire le CTR avec le Machine Learning en Python
Instructions
- Créez la liste de valeurs pour chaque hyperparamètre dans
n_estimatorsetmax_depth. - Créez un classifieur Random Forest.
- Configurez une recherche par grille pour itérer sur toutes les combinaisons d’hyperparamètres.
- Affichez le meilleur score AUC avec
.best_score_, ainsi que le meilleur estimateur ayant conduit à ce score avec.best_estimator_.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____)