Suréchantillonnage aléatoire
Seule une très petite fraction 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 prend la valeur 1 en cas de fraude et 0 autrement.
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).
Cette activité fait partie du cours
Détection de la fraude en R
Instructions de l’exercice
- Chargez le paquet
ROSE. - Définissez
n_newcomme le nombre de cas requis dans l'ensemble suréchantillonné de sorte que le nouvel ensemble contienne 30 % de cas de fraude et donc 70 % de cas légitimes. Pour ce faire, vous devez diviser le nombre actuel de cas légitimes par le pourcentage visé de cas légitimes dans l'ensemble suréchantillonné. - Utilisez la fonction
ovun.sample()pour le suréchantillonnage en indiquantClass ~ .comme formule. - Vérifiez l'équilibre des classes de l'ensemble suréchantillonné.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(___(___))