Zacznij terazZacznij za darmo

Cecha częstotliwości dla jednego konta

Cecha częstotliwości mierzy, jak często dane zdarzenie miało miejsce w przeszłości. Tworzenie takich cech pomaga wykrywać anomalne zachowania. W filmie pokazano, jak budować cechę częstotliwości na podstawie zmiennej kategorycznej.

Do dyspozycji masz dane transakcyjne Boba. Jedna z kolumn nosi nazwę channel_cd i wskazuje kanał płatności, z którego Bob korzystał podczas każdej transakcji. Twoim zadaniem jest utworzenie cechy częstotliwości o nazwie freq_channel na podstawie kolumny channel_cd przy użyciu funkcji rollapply(). Możesz wpisać ?rollapply w konsoli, aby wyświetlić dokumentację tej funkcji.

Zbiór danych trans_Bob oraz pakiety zoo i dplyr są już wczytane w twoim środowisku pracy.

To ćwiczenie jest częścią kursu

Wykrywanie oszustw w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Napisz funkcję frequency_fun(), która przyjmuje argumenty steps i channel, oblicza liczbę kroków oraz sumuje, ile razy ostatni kanał channel był używany w przeszłości.
  • Utwórz cechę freq_channel, stosując funkcję rollapply na kolumnie transfer_id. Cecha powinna zliczać, ile razy dany channel_cd był używany wcześniej.
  • Wyświetl kolumny channel_cd, freq_channel i fraud_flag. Sprawdź, jak wygląda nowo utworzona cecha.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod