CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Chargez le paquet ROSE.
  • Définissez n_new comme 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 indiquant Class ~ . 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(___(___))
Modifier et exécuter le code