CommencerCommencer gratuitement

Ajustements du modèle

Une manière simple d’ajuster le modèle de random forest pour traiter des données de fraude très déséquilibrées consiste à utiliser l’option class_weights lors de la définition de votre modèle sklearn. Toutefois, comme vous allez le voir, c’est un mécanisme assez grossier qui peut 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’est‑à‑dire que X_train, X_test, y_train, y_test sont disponibles. Les fonctions de métriques ont déjà été importées.

Cet exercice fait partie du cours

Détection de fraude en Python

Afficher le cours

Instructions

  • Définissez l’argument class_weight de votre classifieur sur balanced_subsample.
  • Ajustez votre modèle sur l’ensemble d’entraînement.
  • Obtenez les prédictions et les probabilités à partir de X_test.
  • Calculez le roc_auc_score, le rapport de classification et la matrice de confusion.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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