Caractéristique de fréquence pour un compte
Une caractéristique de fréquence compte à quelle fréquence un certain événement s'est produit dans le passé. Créer ce type de caractéristiques aide à détecter des comportements anormaux. Dans la vidéo, vous avez appris à créer une caractéristique de fréquence à partir d'une variable catégorique.
On vous fournit maintenant des données transactionnelles de Bob. L'une des colonnes s'appelle channel_cd et indique le canal de paiement que Bob a utilisé pour chacune de ses transactions. Vous allez créer une caractéristique de fréquence appelée freq_channel à partir de la colonne channel_cd en utilisant la fonction rollapply(). Vous pouvez utiliser ?rollaply dans la console pour consulter la documentation de la fonction.
L'ensemble de données trans_Bob ainsi que les packages zoo et dplyr sont chargés dans votre espace de travail.
Cette activité fait partie du cours
Détection de la fraude en R
Instructions de l’exercice
- Écrivez une fonction
frequency_fun()qui prendstepsetchannelen entrée, compte le nombre d'étapes et additionne le nombre de fois où lechannelle plus récent a été utilisé dans le passé. - Créez la caractéristique
freq_channelen utilisant la fonctionrollapplysur la colonnetransfer_id. Cette caractéristique doit compter le nombre de fois où unchannel_cddonné a été utilisé auparavant. - Affichez les caractéristiques
channel_cd,freq_channeletfraud_flag. Examinez la nouvelle caractéristique créée.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)