Ajustements du modèle
Une façon simple d'ajuster le modèle de forêt aléatoire pour gérer des données de fraude fortement déséquilibrées consiste à utiliser l'option class_weights lors de la définition de votre modèle sklearn. Toutefois, comme vous le verrez, c'est un mécanisme assez grossier qui pourrait ne pas convenir à votre cas particulier.
Dans cet exercice, vous allez explorer le mode weight = "balanced_subsample" du modèle Random Forest de l'exercice précédent. Vous avez déjà séparé vos données en ensembles d'entraînement et de test, c.-à-d. que X_train, X_test, y_train, y_test sont disponibles. Les fonctions de mesure ont déjà été importées.
Cette activité fait partie du cours
Détection de fraude en Python
Instructions de l’exercice
- Réglez l'argument
class_weightde votre classifieur àbalanced_subsample. - Entraînez votre modèle sur l'ensemble d'entraînement.
- Obtenez les prédictions et les probabilités à partir de
X_test. - Obtenez le
roc_auc_score, le rapport de classification et la matrice de confusion.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))