Sous-échantillonnage aléatoire

Détection de la fraude en R

Bart Baesens

Professor Data Science at KU Leuven

Sous-échantillonnage aléatoire (RUS)

diagramme à barres des classes : sous-échantillonnage

Détection de la fraude en R

ensemble d'entraînement/essai d'origine

Détection de la fraude en R

sous-échantillonnage aléatoire : étape 0

Détection de la fraude en R

sous-échantillonnage aléatoire : étape 1

Détection de la fraude en R

jeu déséquilibré : V2 vs V1

Détection de la fraude en R
table(creditcard$Class)
    0     1 
24108   492
n_fraud <- 492
new_frac_fraud <- 0.50
new_n_total <- n_fraud / new_frac_fraud ## = 492 / 0.50 = 984

library(ROSE) undersampling_result <- ovun.sample(formula = Class ~ ., data = creditcard, method = "under", N = new_n_total, seed = 2018)
undersampled_credit <- undersampling_result$data
prop.table(table(undersampled_credit$Class))
  0   1 
0.5 0.5
Détection de la fraude en R

jeu sous-échantillonné : V2 vs V1

Détection de la fraude en R

Faisons les deux !

diagramme à barres des classes : les deux

Détection de la fraude en R
n_new <- nrow(creditcard) ## = 24600
fraction_fraud_new <- 0.50

sampling_result <- ovun.sample(formula = Class ~ ., data = creditcard, method = "both", N = n_new, p = fraction_fraud_new, seed = 2018) sampled_credit <- sampling_result$data
prop.table(table(sampled_credit$Class))
        0         1 
0.5039837 0.4960163
Détection de la fraude en R

résultat : V2 vs V1 (les deux)

Détection de la fraude en R

Passons à la pratique !

Détection de la fraude en R

Preparing Video For Download...