Análisis Univariado (Caracterización)
library(readxl)
Base_prospectos <- read_excel("C:/Users/User/Desktop/Base_prospectos.xlsx")
sum(is.na(Base_prospectos$Tenencia_productos_credito))
## [1] 12522
datos_limpios = na.omit(Base_prospectos)
require(ggplot2)
require(ggpubr)
require(plotly)
g1=ggplot(Base_prospectos,aes(x=Genero))+geom_bar()+theme_bw()
g2=ggplot(Base_prospectos,aes(x=Ocupacion))+geom_bar()+theme_bw()
g3=ggplot(Base_prospectos,aes(x=Codigo_canal))+geom_bar()+theme_bw()
ggarrange(g1, g3,labels = c("A", "B"),ncol = 2, nrow = 1)
ggplotly(g2)
De acuerdo al análisis univariado categórico que se representa en los gráficos A, B, y C, se identifica que la mayoría de clientes son masculino, con negocio propio y la comunicación con ellos la mayoría de las veces ha sido por medio del canal mensaje de texto.
g4=ggplot(Base_prospectos,aes(x=Edad))+geom_histogram()+theme_bw()
g5=ggplot(Base_prospectos,aes(x=Antigüedad))+geom_histogram()+theme_bw()
g6=ggplot(Base_prospectos,aes(x=Saldo_promedio_CuentaA))+geom_histogram()+theme_bw()
ggarrange(g4, g5, g6, labels = c("A", "B", "C"),ncol = 2, nrow = 3)
promedio_Edad = mean(Base_prospectos$Edad,na.rm = TRUE)
mediana_edad = median(Base_prospectos$Edad,na.rm = TRUE)
mediana_antiguedad = median(Base_prospectos$Antigüedad,na.rm = TRUE)
mediana_saldo = median(Base_prospectos$Saldo_promedio_CuentaA,na.rm = TRUE)
resultado=data.frame(promedio_Edad,mediana_edad,mediana_antiguedad,mediana_saldo)
resultado
| promedio_Edad | mediana_edad | mediana_antiguedad | mediana_saldo |
|---|---|---|---|
| 43.871 | 43 | 32 | 896634.5 |
Complementando estas caracteristicas y analisis exploratorio de datos, se evidencia que la edad del cliente prospecto es 43 y tienen una actiguedad de vinculación con el Banco de 2,6 años respectivamente, con un saldo estimado en $900.000
Ahora, después de hacer un analisis exploratorio de datos y determinar unas caracteristicas descriptivas de nuestros clientes, recordemos que para abarcar un proyecto de analitica es recomendable aplicar la metodología Crisp-DM, la cual consiste en: 1. Entender el negocio, 2. Entender los datos, 3. Preparar los datos por medio de las técnicas predictivas o descriptivas 4. Hacer el modelamiento 5. Evaluar el resultado 6. Si el paso #5 es exitoso y si refleja en su gran mayoria la realidad y el obetivo del proyecto, se realiza la implementación o despliegue.
Ahora recordemos que el objetivo del proyecto es identificar aquellos clientes que podrían mostrar una mayor intención de aceptación y compra de la tarjeta de crédito y para este objetivo nos estamos enfrentando a un modelo supervisado de clasificación, podriamos usar un random forest o vecino mas cercano o Naive Bayes o arbol de desición. Me voy a ir por el modelo de random forest y asi determinar si los clientes son potencial para la tarjeta de credito o no
#library(caret)
#library(randomForest)
#pasamos la variable a factor
#Base_prospectos$Potencial = factor(Base_prospectos$Potencial)
#set.seed(2018)
#training.ids = createDataPartition(Base_prospectos$Potencial, p=0,7, list = FALSE)
#mod = randomForest(x = Base_prospectos[training.ids, 1:10],
#y = Base_prospectos[training.ids, 11],
#ntree = 500,
#keep.forest = TRUE)
Bueno acá entrenaría al modelo para que realice la partición por unos 500 arboles y cada arbol hace su categorización de la población y cuando el modelo me agrupe y arroje el resultado de cual es el grupo de mayor valor, lo compararía con la matriz de confusión validando la tasa de verdaderos positivos y la presición, Finalmente este es el que eligiría como cliente potenciales para ofrecerle la tarjeta de crédito. Siempre teniendo en cuenta las variables dependiente (y) e independiente (x)