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
Instructions
- Définissez l’argument
class_weightde votre classifieur surbalanced_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(____(____, ____))