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 métrique de performance à utiliser pour évaluer les options. Comme en détection de fraude l’objectif principal est d’identifier un maximum de cas frauduleux, vous pouvez optimiser la configuration du modèle pour obtenir le meilleur score de rappel (Recall) possible. Si vous souhaitez également réduire le nombre de faux positifs, vous pouvez optimiser le F1-score, qui vous offre un bon compromis entre précision et rappel.
GridSearchCV a déjà été importé depuis sklearn.model_selection, alors essayons !
Cet exercice fait partie du cours
Détection de fraude en Python
Instructions
- Indiquez dans la grille de paramètres que vous voulez tester 1 et 30 arbres, ainsi que les critères de séparation
ginietentropy. - Définissez le modèle comme un RandomForestClassifier simple, en conservant
random_stateà 5 pour pouvoir comparer les modèles. - Réglez l’option
scoringpour optimiser le rappel. - Ajustez le modèle sur les 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 cet exemple de code.
# 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.____