Häufigkeitsfeature für ein Konto
Ein Häufigkeitsfeature zählt, wie oft ein bestimmtes Ereignis in der Vergangenheit aufgetreten ist. Solche Features helfen, ungewöhnliches Verhalten zu erkennen. Im Video hast du gelernt, wie man ein Häufigkeitsfeature auf Basis eines kategorialen Merkmals erstellt.
Dir liegen nun Transaktionsdaten von Bob vor. Eine der Spalten heißt channel_cd und gibt den Zahlungskanal an, den Bob für die jeweilige Transaktion genutzt hat. Du erstellst ein Häufigkeitsfeature namens freq_channel basierend auf der Spalte channel_cd mit der Funktion rollapply(). In der Konsole kannst du ?rollaply verwenden, um die Funktionsdokumentation zu sehen.
Der Datensatz trans_Bob sowie die Pakete zoo und dplyr sind in deiner Arbeitsumgebung geladen.
Diese Übung ist Teil des Kurses
Fraud Detection in R
Anleitung zur Übung
- Schreibe eine Funktion
frequency_fun(), diestepsundchannelals Eingaben erhält, die Anzahl der Schritte zählt und summiert, wie oft der aktuellechannelin der Vergangenheit verwendet wurde. - Erstelle das Feature
freq_channel, indem durollapplyauf der Spaltetransfer_idverwendest. Das Feature soll zählen, wie oft ein bestimmterchannel_cdzuvor verwendet wurde. - Gib die Features
channel_cd,freq_channelundfraud_flagaus. Sieh dir das neu erstellte Feature an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)