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

Đặc trưng tần suất cho một tài khoản

Một đặc trưng tần suất (frequency feature) đếm số lần một sự kiện nào đó đã xảy ra trong quá khứ. Tạo các đặc trưng như vậy giúp phát hiện hành vi bất thường. Trong video, bạn đã học cách tạo một đặc trưng tần suất dựa trên một đặc trưng phân loại.

Hiện bạn có dữ liệu giao dịch của Bob. Một trong các cột là channel_cd cho biết kênh thanh toán mà Bob dùng để thực hiện từng giao dịch. Bạn sẽ tạo một đặc trưng tần suất tên là freq_channel dựa trên cột channel_cd bằng hàm rollapply(). Bạn có thể dùng ?rollaply trong console để xem tài liệu của hàm.

Bộ dữ liệu trans_Bob, cùng với các gói zoodplyr, đã được nạp vào không gian làm việc của bạn.

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

  • Viết hàm frequency_fun() nhận stepschannel làm đầu vào, đếm số bước và cộng số lần channel mới nhất đã được dùng trong quá khứ.
  • Tạo đặc trưng freq_channel bằng cách dùng hàm rollapply trên cột transfer_id. Đặc trưng này phải đếm số lần một channel_cd cụ thể đã được dùng trước đó.
  • In các đặc trưng channel_cd, freq_channelfraud_flag. Kiểm tra đặc trưng vừa tạo.

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.

# Frequency feature based on channel_cd
frequency_fun <- function(steps, channel) {
  n <- ___(___)
  frequency <- ___(___[1:n] == ___[___])
  return(frequency)
}

# Create freq_channel feature
freq_channel <- ___(trans_Bob$___, width = list(-1:-length(trans_Bob$___)), partial = ___, FUN = ___, trans_Bob$___)

# Print the features channel_cd, freq_channel and fraud_flag next to each other
freq_channel <- c(0, freq_channel)
cbind.data.frame(trans_Bob$___, ___, trans_Bob$fraud_flag)
Chỉnh sửa và Chạy Mã