CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Réglez l'argument class_weight de 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(____(____, ____))
Modifier et exécuter le code