IniziaInizia gratis

Caratteristica di frequenza per un conto

Una caratteristica di frequenza conta quanto spesso un certo evento è avvenuto in passato. Creare questo tipo di caratteristiche aiuta a rilevare comportamenti anomali. Nel video, hai visto come creare una caratteristica di frequenza a partire da una variabile categorica.

Ora hai a disposizione i dati transazionali di Bob. Una delle colonne si chiama channel_cd e indica il canale di pagamento che Bob ha usato per registrare ciascuna transazione. Creerai una caratteristica di frequenza chiamata freq_channel basata sulla colonna channel_cd usando la funzione rollapply(). Puoi usare ?rollaply nella console per consultare la documentazione della funzione.

Il dataset trans_Bob e i pacchetti zoo e dplyr sono già caricati nel tuo workspace.

Questo esercizio fa parte del corso

Rilevamento delle frodi in R

Visualizza il corso

Istruzioni dell'esercizio

  • Scrivi una funzione frequency_fun() che prenda in input steps e channel, conti il numero di passi e sommi quante volte il channel più recente è stato usato in passato.
  • Crea la caratteristica freq_channel usando la funzione rollapply sulla colonna transfer_id. La caratteristica deve contare quante volte uno specifico channel_cd è stato usato prima.
  • Stampa le caratteristiche channel_cd, freq_channel e fraud_flag. Esamina la nuova caratteristica creata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice