Slumpmässig undersampling

Bedrägeridetektering i R

Bart Baesens

Professor Data Science at KU Leuven

Slumpmässig undersampling (RUS)

Stapeldiagram över klasser efter undersampling

Bedrägeridetektering i R

Originaldata uppdelad i tränings- och testset

Bedrägeridetektering i R

Slumpmässig undersampling steg 1

Bedrägeridetektering i R

Slumpmässig undersampling steg 2

Bedrägeridetektering i R

Spridningsdiagram V2 mot V1 för obalanserad datamängd

Bedrägeridetektering i 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
Bedrägeridetektering i R

Spridningsdiagram V2 mot V1 för undersamplade kreditkortsdata

Bedrägeridetektering i R

Kombinera båda metoderna!

Stapeldiagram över klasser med kombinerad sampling

Bedrägeridetektering i 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
Bedrägeridetektering i R

Spridningsdiagram V2 mot V1 med kombinerad sampling

Bedrägeridetektering i R

Nu kör vi en övning!

Bedrägeridetektering i R

Preparing Video For Download...