Over-sampling casuale
Solo una piccolissima frazione dei bonifici è fraudolenta. Ora andrai a sovracampionare i casi di frode per equilibrare la distribuzione delle classi. La variabile Class nell’insieme di dati creditcard vale 1 in caso di frode e 0 altrimenti.
Puoi usare la console per visualizzare le colonne di creditcard con str(), stampare le prime 6 righe del dataset con head() e controllare l’equilibrio della variabile Class con table(creditcard$Class).
Questo esercizio fa parte del corso
Rilevamento delle frodi in R
Istruzioni dell'esercizio
- Carica il pacchetto
ROSE. - Definisci
n_newcome il numero richiesto di casi nel dataset sovracampionata in modo che il nuovo dataset contenga 30% di casi di frode e quindi 70% di casi legittimi. Per farlo, devi dividere il numero esistente di casi legittimi per la percentuale desiderata di casi legittimi nel dataset sovracampionata. - Usa la funzione
ovun.sample()per l’over-sampling usandoClass ~ .come formula. - Verifica l’equilibrio tra classi del dataset sovracampionata.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(___(___))