Lấy mẫu ngẫu nhiên theo hướng over-sampling
Chỉ một phần rất nhỏ các giao dịch chuyển khoản là gian lận. Bây giờ bạn sẽ over-sample các trường hợp gian lận để cân bằng phân bố lớp. Biến Class trong dữ liệu creditcard nhận giá trị 1 nếu là gian lận và 0 nếu không.
Bạn có thể dùng console để hiển thị các cột của 'creditcard' với str(), in 6 dòng đầu của dữ liệu với head() và kiểm tra cân bằng lớp với table(creditcard$Class).
Bài tập này là một phần của khóa học
Phát hiện gian lận với R
Hướng dẫn bài tập
- Nạp gói
ROSE. - Xác định
n_newlà số lượng quan sát cần có trong dữ liệu sau khi over-sample sao cho bộ dữ liệu mới gồm 30% trường hợp gian lận và 70% trường hợp hợp lệ. Để làm vậy, hãy lấy số lượng hợp lệ hiện có chia cho tỷ lệ mong muốn của hợp lệ trong dữ liệu sau khi over-sample. - Dùng hàm
ovun.sample()để over-sample với công thứcClass ~ .. - Kiểm tra cân bằng lớp của dữ liệu sau khi over-sample.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(___(___))