LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine Funktion frequency_fun(), die steps und channel als Eingaben erhält, die Anzahl der Schritte zählt und summiert, wie oft der aktuelle channel in der Vergangenheit verwendet wurde.
  • Erstelle das Feature freq_channel, indem du rollapply auf der Spalte transfer_id verwendest. Das Feature soll zählen, wie oft ein bestimmter channel_cd zuvor verwendet wurde.
  • Gib die Features channel_cd, freq_channel und fraud_flag aus. 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)
Code bearbeiten und ausführen