Aan de slagGa gratis aan de slag

Willekeurig over-samplen

Slechts een heel klein deel van de overboekingen is frauduleus. Je gaat nu de fraudegevallen over-samplen om zo de klassenverdeling in balans te brengen. De feature Class in gegevensset creditcard heeft waarde 1 bij fraude en 0 anders.

Je kunt de console gebruiken om de kolommen van 'creditcard' te tonen met str(), de eerste 6 rijen af te drukken met head() en de Class-balans te controleren met table(creditcard$Class).

Deze oefening maakt deel uit van de cursus

Fraudedetectie in R

Cursus bekijken

Oefeninstructies

  • Laad het pakket ROSE.
  • Stel n_new in als het vereiste aantal gevallen in de over-samplede gegevensset zodat de nieuwe gegevensset zal bestaan uit 30% fraudegevallen en dus 70% legitieme gevallen. Hiervoor deel je het bestaande aantal legitieme gevallen door het gewenste percentage legitieme gevallen in de over-samplede gegevensset.
  • Gebruik de functie ovun.sample() voor over-samplen met Class ~ . als formula.
  • Controleer de klassenbalans van de over-samplede gegevensset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(___(___))
Code bewerken en uitvoeren