# Instalar y cargar los paquetes necesarios
if (!require("neuralnet")) install.packages("neuralnet", dependencies = TRUE)
## Loading required package: neuralnet
library(neuralnet)
if (!require("caret")) install.packages("caret", dependencies = TRUE)
## Loading required package: caret
## Loading required package: ggplot2
## Loading required package: lattice
library(caret)
# Cargar o simular algunos datos de ejemplo
set.seed(123) # Para reproducibilidad
data <- data.frame(
edad = sample(18:70, 200, replace = TRUE),
saldo = runif(200, min = 0, max = 10000),
productos = sample(1:5, 200, replace = TRUE),
activo = sample(0:1, 200, replace = TRUE),
desercion = sample(0:1, 200, replace = TRUE)
)
# Preparar los datos
# Normalizar los datos puede ayudar a mejorar el rendimiento del modelo de red neuronal
data$edad <- scale(data$edad)
data$saldo <- scale(data$saldo)
data$productos <- scale(data$productos)
# Dividir los datos en conjuntos de entrenamiento y prueba
indices <- createDataPartition(data$desercion, p = 0.8, list = FALSE)
trainData <- data[indices,]
testData <- data[-indices,]
# Configurar y entrenar la red neuronal
nn <- neuralnet(desercion ~ edad + saldo + productos + activo, data = trainData, hidden = c(5), linear.output = FALSE)
# Visualizar la red
plot(nn)
# Realizar predicciones
predicciones <- compute(nn, testData[,1:4])
predicciones$result <- ifelse(predicciones$net.result > 0.5, 1, 0)
# Evaluar el modelo
confusionMatrix <- table(predicciones$result, testData$desercion)
print(confusionMatrix)
##
## 0 1
## 0 13 9
## 1 7 11
#El algoritmo que hemos diseñado en R utiliza una red neuronal para predecir la probabilidad de deserción de clientes en un banco o una tiendo de crédito como Coppel o Elektra, basándose en variables como la edad, el saldo de la cuenta, la cantidad de productos contratados por el cliente, y si el cliente está activo o no
#Referencias #Barrueta-Meza, R., Castillo-Villarreal, J. P., & Armas-Aguirre, J. (2018, October). Predictive Model to Determine Customer Desertion in Peruvian Banking Entities. In 2018 Congreso Internacional de Innovación y Tendencias en Ingeniería (CONIITI) (pp. 1-5). IEEE.
#Pineda-Pertuz, C. M., Martinez, Y., & Diaz, I. (2022, September). Machine Learning algorithms to predict desertion in the faculty of Engineering Sciences at the Corporación Universitaria Antonio José de Sucre. In IOP Conference Series: Materials Science and Engineering (Vol. 1253, No. 1, p. 012013). IOP Publishing.