Frekvenční příznak pro jeden účet
Frekvenční příznak sleduje, jak často se určitá událost v minulosti opakovala. Vytváření takovýchto příznaků pomáhá odhalovat anomální chování. Ve videu sis ukázal/a, jak sestavit frekvenční příznak na základě kategorické proměnné.
Máš k dispozici transakční data Boba. Jeden ze sloupců se jmenuje channel_cd a udává platební kanál, který Bob použil při každé ze svých transakcí. Tvým úkolem je vytvořit frekvenční příznak freq_channel na základě sloupce channel_cd s pomocí funkce rollapply(). Dokumentaci funkce zobrazíš příkazem ?rollapply v konzoli.
Dataset trans_Bob a balíčky zoo a dplyr jsou načteny v pracovním prostředí.
Toto cvičení je součástí kurzu
Detekce podvodů v R
Pokyny k cvičení
- Napiš funkci
frequency_fun(), která přijímá argumentystepsachannel, zjistí počet kroků a sečte, kolikrát byl nejnovějšíchannelv minulosti použit. - Vytvoř příznak
freq_channelpomocí funkcerollapplyaplikované na sloupectransfer_id. Příznak má počítat, kolikrát byl danýchannel_cdpoužit dříve. - Vypiš příznaky
channel_cd,freq_channelafraud_flaga prohlédni si nově vytvořený příznak.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)