Fitur frekuensi untuk satu akun
Fitur frekuensi menghitung seberapa sering suatu peristiwa terjadi di masa lalu. Membuat fitur seperti ini membantu mendeteksi perilaku yang tidak wajar. Dalam video, Anda mempelajari cara membuat fitur frekuensi berdasarkan fitur kategorikal.
Sekarang Anda disediakan data transaksi milik Bob. Salah satu kolom bernama channel_cd yang menunjukkan saluran pembayaran yang digunakan Bob untuk membukukan setiap transaksinya. Anda akan membuat fitur frekuensi bernama freq_channel berdasarkan kolom channel_cd menggunakan fungsi rollapply(). Anda dapat menggunakan ?rollaply di konsol untuk melihat dokumentasi fungsi.
Himpunan data trans_Bob, serta paket zoo dan dplyr, telah dimuat di ruang kerja Anda.
Latihan ini adalah bagian dari kursus
Deteksi Fraud di R
Petunjuk latihan
- Tulis fungsi
frequency_fun()yang menerimastepsdanchannelsebagai masukan, menghitung jumlah langkah, dan menjumlahkan seberapa seringchannelterbaru telah digunakan sebelumnya. - Buat fitur
freq_channeldengan menggunakan fungsirollapplypada kolomtransfer_id. Fitur ini harus menghitung seberapa sering suatuchannel_cdtertentu telah digunakan sebelumnya. - Cetak fitur
channel_cd,freq_channel, danfraud_flag. Periksa fitur yang baru dibuat.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)