GridSearchCV pour trouver les paramètres optimaux
Dans cet exercice, vous allez ajuster notre modèle de façon moins « aléatoire » en laissant GridSearchCV faire le travail pour vous.
Avec GridSearchCV, vous pouvez définir la mesure de performance à utiliser pour l'évaluation des options. Comme en détection de fraude on veut surtout repérer le plus grand nombre de cas possibles, vous pouvez optimiser les réglages du modèle pour obtenir le meilleur score de rappel (Recall) possible. Si vous vouliez aussi réduire le nombre de faux positifs, vous pourriez optimiser le F1-score, qui offre un bon compromis précision–rappel.
GridSearchCV a déjà été importé depuis sklearn.model_selection, alors allons-y!
Cette activité fait partie du cours
Détection de fraude en Python
Instructions de l’exercice
- Dans la grille de paramètres, indiquez que vous voulez essayer 1 et 30 arbres, ainsi que les critères de division
ginietentropy. - Définissez le modèle comme un simple RandomForestClassifier; gardez
random_stateà 5 pour pouvoir comparer les modèles. - Réglez l'option
scoringde façon à optimiser le rappel (recall). - Ajustez le modèle aux données d'entraînement
X_trainety_train, puis récupérez les meilleurs paramètres du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'], 'max_depth': [4, 8], 'criterion': ['____', '____']
}
# Define the model to use
model = ____(random_state=5)
# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)
# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____