开始使用免费开始使用

单个账户的频率特征

频率特征用于统计某个事件在过去发生的次数。创建此类特征有助于发现异常行为。在视频中,您学习了如何基于分类特征构建频率特征。

现在,您拿到的是 Bob 的交易数据。其中有一列名为 channel_cd,表示 Bob 进行每笔交易时所使用的支付渠道。您将使用 rollapply() 函数,基于 channel_cd 列创建一个名为 freq_channel 的频率特征。您可以在控制台中使用 ?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)
编辑并运行代码