Caracteristica de frecvență pentru un singur cont
O caracteristică de frecvență măsoară cât de des s-a produs un anumit eveniment în trecut. Crearea unor astfel de caracteristici ajută la detectarea comportamentelor anormale. În videoclip, ai învățat cum să construiești o caracteristică de frecvență pornind de la o variabilă categorică.
Îți sunt puse la dispoziție datele tranzacționale ale lui Bob. Una dintre coloane se numește channel_cd și indică canalul de plată folosit de Bob pentru fiecare tranzacție. Vei crea o caracteristică de frecvență numită freq_channel, bazată pe coloana channel_cd, folosind funcția rollapply(). Poți folosi ?rollapply în consolă pentru a consulta documentația funcției.
Setul de date trans_Bob, precum și pachetele zoo și dplyr sunt deja încărcate în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Detecția fraudelor în R
Instrucțiuni pentru exercițiu
- Scrie o funcție
frequency_fun()care primeștestepsșichannelca argumente, numără pașii și sumează de câte ori ultimulchannela mai fost utilizat în trecut. - Creează caracteristica
freq_channelfolosind funcțiarollapplype coloanatransfer_id. Caracteristica trebuie să numere de câte ori un anumitchannel_cda fost utilizat anterior. - Afișează caracteristicile
channel_cd,freq_channelșifraud_flag. Examinează caracteristica nou creată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)