Supra-eșantionare aleatoare
Doar o fracțiune foarte mică din transferurile de credit sunt frauduloase. Acum vei supra-eșantiona cazurile de fraudă pentru a echilibra distribuția claselor. Caracteristica Class din setul de date creditcard ia valoarea 1 în caz de fraudă și 0 în caz contrar.
Poți folosi consola pentru a afișa coloanele din 'creditcard' cu str(), pentru a afișa primele 6 rânduri ale setului de date cu head() și pentru a verifica echilibrul clasei cu table(creditcard$Class).
Acest exercițiu face parte din cursul
Detecția fraudelor în R
Instrucțiuni pentru exercițiu
- Încarcă pachetul
ROSE. - Specifică
n_newca numărul necesar de cazuri în setul de date supra-eșantionat, astfel încât noul set de date să conțină 30% cazuri de fraudă și, prin urmare, 70% cazuri legitime. Pentru aceasta, împarte numărul existent de cazuri legitime la procentul dorit de cazuri legitime în setul de date supra-eșantionat. - Folosește funcția
ovun.sample()pentru supra-eșantionare, utilizândClass ~ .ca formulă. - Verifică echilibrul claselor în setul de date supra-eșantionat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___(___))