Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Schrijf een functie frequency_fun() die steps en channel als input neemt, het aantal stappen telt en optelt hoe vaak het meest recente channel eerder is gebruikt.
  • Maak het kenmerk freq_channel door de functie rollapply te gebruiken op de kolom transfer_id. Het kenmerk moet tellen hoe vaak een bepaalde channel_cd eerder is gebruikt.
  • Print de kenmerken channel_cd, freq_channel en fraud_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)
Code bewerken en uitvoeren