開始使用免費開始

單一帳戶的頻率特徵

頻率特徵會計算某個事件在過去發生的頻率。建立這類特徵有助於偵測異常行為。在影片中,你學到如何以類別型特徵為基礎,建立頻率特徵。

現在提供的是 Bob 的交易資料。其中有一個欄位叫做 channel_cd,表示 Bob 在每筆交易所使用的付款通道。你將使用 rollapply() 建立一個名為 freq_channel 的頻率特徵,這個特徵是以 channel_cd 欄位為基礎。你可以在主控台使用 ?rollaply 查看該函式的文件說明。

資料集 trans_Bob,以及 zoodplyr 套件都已載入到你的工作環境。

本練習屬於課程

R 的詐欺偵測

檢視課程

練習說明

  • 撰寫一個函式 frequency_fun(),以 stepschannel 作為輸入,計算步數的長度,並加總「最新的 channel 在過去出現過幾次」。
  • 使用 rollapply 作用在 transfer_id 欄位上,建立特徵 freq_channel。此特徵應計算某個 channel_cd 先前被使用過的次數。
  • 列印 channel_cdfreq_channelfraud_flag 這些特徵。檢視新建立的特徵。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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)
編輯並執行程式碼