Característica de frecuencia para una cuenta
Una característica de frecuencia cuenta cuántas veces ha ocurrido un determinado evento en el pasado. Crear este tipo de características ayuda a detectar comportamientos anómalos. En el vídeo, has aprendido a crear una característica de frecuencia a partir de una variable categórica.
Ahora tienes datos de transacciones de Bob. Una de las columnas se llama channel_cd e indica el canal de pago que Bob usó para registrar cada una de sus transacciones. Vas a crear una característica de frecuencia llamada freq_channel basada en la columna channel_cd usando la función rollapply(). Puedes usar ?rollaply en la consola para ver la documentación de la función.
El conjunto de datos trans_Bob y los paquetes zoo y dplyr están cargados en tu espacio de trabajo.
Este ejercicio forma parte del curso
Detección de fraude en R
Instrucciones del ejercicio
- Escribe una función
frequency_fun()que tomestepsychannelcomo entradas, cuente el número de pasos y sume cuántas veces se ha usado en el pasado elchannelmás reciente. - Crea la característica
freq_channelusando la funciónrollapplysobre la columnatransfer_id. La característica debe contar cuántas veces se ha usado antes un determinadochannel_cd. - Imprime las características
channel_cd,freq_channelyfraud_flag. Revisa la nueva característica creada.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)