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
Instrukcje do ćwiczenia
- Napisz funkcję
frequency_fun(), która przyjmuje argumentystepsichannel, oblicza liczbę kroków oraz sumuje, ile razy ostatni kanałchannelbył używany w przeszłości. - Utwórz cechę
freq_channel, stosując funkcjęrollapplyna kolumnietransfer_id. Cecha powinna zliczać, ile razy danychannel_cdbył używany wcześniej. - Wyświetl kolumny
channel_cd,freq_channelifraud_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)