Frequentiekenmerk voor één rekening
Een frequentiekenmerk telt hoe vaak een bepaalde gebeurtenis in het verleden is voorgekomen. Zulke kenmerken helpen afwijkend gedrag te detecteren. In de video heb je geleerd hoe je een frequentiekenmerk maakt op basis van een categorisch kenmerk.
Je krijgt nu transactiedata van Bob. Een van de kolommen heet channel_cd en geeft aan via welk betaalkanaal Bob elke transactie heeft gedaan. Je gaat een frequentiekenmerk freq_channel maken op basis van de kolom channel_cd met de functie rollapply(). Je kunt ?rollaply in de console gebruiken om de documentatie van de functie te bekijken.
De gegevensset trans_Bob en de pakketten zoo en dplyr zijn geladen in je werkruimte.
Deze oefening maakt deel uit van de cursus
Fraudedetectie in R
Oefeninstructies
- Schrijf een functie
frequency_fun()diestepsenchannelals input neemt, het aantal stappen telt en optelt hoe vaak het meest recentechanneleerder is gebruikt. - Maak het kenmerk
freq_channeldoor de functierollapplyte gebruiken op de kolomtransfer_id. Het kenmerk moet tellen hoe vaak een bepaaldechannel_cdeerder is gebruikt. - Print de kenmerken
channel_cd,freq_channelenfraud_flag. Inspecteer het nieuw gemaakte kenmerk.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)