De meerderheidsgroep verkleinen
In plaats van het aantal fraudegevallen in de gegevensset te verhogen, kun je willekeurig legitieme gevallen verwijderen om de gegevensset te balanceren. Laten we de meerderheidsklasse (Class = 0) in de creditcard-gegevensset onder-samplen. Je kunt table() in de console gebruiken om te zien hoeveel frauduleuze en legitieme transacties er in de gegevensset staan.
Deze oefening maakt deel uit van de cursus
Fraudedetectie in R
Oefeninstructies
- Laad de ROSE-bibliotheek.
- Geef
n_newop als het vereiste aantal gevallen in de onder-gesamplede gegevensset, zodat de nieuwe gegevensset uit 40% fraudegevallen bestaat. Hiervoor moet je het aantal fraudegevallen delen door het gewenste percentage fraudegevallen in de onder-gesamplede gegevensset. - Voer het onder-samplen van de gegevensset uit.
- Gebruik
table()enprop.table()om de klassenbalans van de onder-gesamplede gegevensset te controleren.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Load ROSE
___
# Calculate the required number of cases in the over-sampled dataset
n_new <- ___
# Under-sample
undersampling_result <- ___(formula = ___, data = ___,
___ = ___, ___ = ___, seed = 2018)
# Verify the Class-balance of the under-sampled dataset
undersampled_credit <- undersampling_result$___
___(___(___))