Réduire le groupe majoritaire
Plutôt que d’augmenter le nombre de cas frauduleux dans le jeu de données, vous pouvez supprimer aléatoirement des cas légitimes pour l’équilibrer. Effectuons un sous-échantillonnage de la classe majoritaire (Class = 0) dans le jeu de données creditcard. Vous pouvez utiliser table() dans la console pour connaître le nombre de transactions frauduleuses et légitimes présentes dans le jeu de données.
Cet exercice fait partie du cours
Détection de fraude en R
Instructions
- Chargez la bibliothèque ROSE.
- Spécifiez
n_newcomme le nombre d’observations requis dans le jeu de données sous-échantillonné, de sorte que le nouveau jeu de données contienne 40 % de fraudes. Pour cela, divisez le nombre de cas de fraude par le pourcentage souhaité de fraudes dans le jeu de données sous-échantillonné. - Effectuez le sous-échantillonnage du jeu de données.
- Utilisez
table()etprop.table()pour vérifier l’équilibre des classes du jeu de données sous-échantillonné.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load ROSE
___
# Calculate the required number of cases in the over-sampled dataset
n_new <- ___
# Under-sample
undersampling_result <- ___(formula = ___, data = ___,
___ = ___, ___ = ___, seed = 2018)
# Verify the Class-balance of the under-sampled dataset
undersampled_credit <- undersampling_result$___
___(___(___))