Sobreamostragem aleatória
Apenas uma fração muito pequena das transferências de crédito é fraudulenta. Agora você vai sobreamostrar os casos de fraude para balancear a distribuição das classes. A variável Class no conjunto de dados creditcard assume valor 1 em caso de fraude e 0 caso contrário.
Você pode usar o console para exibir as colunas de creditcard com str(), imprimir as primeiras 6 linhas do conjunto de dados com head() e verificar o balanceamento da variável Class com table(creditcard$Class).
Este exercício faz parte do curso
Detecção de Fraudes em R
Instruções do exercício
- Carregue o pacote
ROSE. - Defina
n_newcomo o número necessário de casos no conjunto de dados com sobreamostragem, de forma que o novo conjunto tenha 30% de casos de fraude e 70% de casos legítimos. Para isso, você deve dividir o número existente de casos legítimos pela porcentagem desejada de casos legítimos no conjunto com sobreamostragem. - Use a função
ovun.sample()para realizar a sobreamostragem usandoClass ~ .como fórmula. - Verifique o balanceamento das classes no conjunto de dados com sobreamostragem.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(___(___))