Variable de fréquence pour un compte
Une variable de fréquence indique combien de fois un certain événement s’est produit dans le passé. Créer ce type de variables aide à détecter des comportements anormaux. Dans la vidéo, vous avez appris à créer une variable de fréquence à partir d’une variable catégorielle.
On vous fournit maintenant les données de transactions 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 variable 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 afficher la documentation de la fonction.
Le jeu de données trans_Bob ainsi que les packages zoo et dplyr sont déjà chargés dans votre espace de travail.
Cet exercice fait partie du cours
Détection de fraude en R
Instructions
- Écrivez une fonction
frequency_fun()qui prendstepsetchannelen entrée, compte le nombre d’éléments desteps, et additionne le nombre de fois où lechannelle plus récent a déjà été utilisé par le passé. - Créez la variable
freq_channelen utilisant la fonctionrollapplysur la colonnetransfer_id. La variable doit compter combien de fois unchannel_cdparticulier a été utilisé auparavant. - Affichez les variables
channel_cd,freq_channeletfraud_flag. Examinez la nouvelle variable créée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)