Slumpmässig översampling
Endast en mycket liten andel av kreditöverföringarna är bedrägliga. Nu ska du översampla bedräglifallen för att balansera klassfördelningen. Variabeln Class i datamängden creditcard har värdet 1 vid bedrägeri och 0 annars.
Du kan använda konsolen för att visa kolumnerna i 'creditcard' med str(), skriva ut de första 6 raderna i datamängden med head() och kontrollera klassbalansen med table(creditcard$Class).
Den här övningen är en del av kursen
Bedrägeridetektering i R
Övningsinstruktioner
- Ladda paketet
ROSE. - Ange
n_newsom det antal fall som krävs i den översamplande datamängden, så att den nya datamängden består av 30% bedrägliga fall och därmed 70% legitima fall. För att beräkna detta dividerar du det befintliga antalet legitima fall med den önskade andelen legitima fall i den översamplande datamängden. - Använd funktionen
ovun.sample()för översampling medClass ~ .som formel. - Kontrollera klassbalansen i den översamplande datamängden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(___(___))