Suréchantillonnage aléatoire
Seule une très faible proportion des virements est frauduleuse. Vous allez maintenant suréchantillonner les cas de fraude afin de rééquilibrer la distribution des classes. La variable Class dans le jeu de données creditcard vaut 1 en cas de fraude et 0 sinon.
Vous pouvez utiliser la console pour afficher les colonnes de creditcard avec str(), imprimer les 6 premières lignes du jeu de données avec head() et vérifier l’équilibre des classes avec table(creditcard$Class).
Cet exercice fait partie du cours
Détection de fraude en R
Instructions
- Chargez le package
ROSE. - Définissez
n_newcomme le nombre de cas requis dans l’ensemble suréchantillonné de sorte que le nouveau jeu de données contienne 30 % de fraudes et donc 70 % de cas légitimes. Pour cela, divisez le nombre actuel de cas légitimes par le pourcentage désiré de cas légitimes dans l’ensemble suréchantillonné. - Utilisez la fonction
ovun.sample()pour le suréchantillonnage en utilisantClass ~ .comme formule. - Vérifiez l’équilibre des classes de l’ensemble suréchantillonné.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load ROSE
___
# Calculate the total number of required cases in the over-sampled dataset
print(table(creditcard$Class))
n_new <- ___
# Over-sample
oversampling_result <- ___(formula = ___, data = ___,
method = ___, N = ___, seed = 2018)
# Verify the Class-balance of the over-sampled dataset
oversampled_credit <- oversampling_result$data
prop.table(___(___))