Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Nạp gói ROSE.
  • Xác định n_new là 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ức Class ~ ..
  • 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(___(___))
Chỉnh sửa và Chạy Mã