Análisis del Conjunto de Datos de Rotación de Clientes de Telecomunicaciones

¡De acuerdo! Hagámoslo..

Así que preparé esta historia para familiarizarme un poco más con los datos de desequilibrio.

El conjunto de datos está disponible en el siguiente enlace:

Así que profundicemos en él.

El objetivo final será evaluar diferentes modelos para predecir si un cliente se “perderá” o no.

El abandono no familiar se expresa más comúnmente como el porcentaje (o número) de suscriptores de servicio que interrumpen sus suscripciones dentro de un período de tiempo determinado.

Comencemos por hacer nuestro EDA (Análisis de Datos Exploratorios)

Los tipos de datos parecían estar bien, con la excepción de la Tercera edad, que también debería ser un factor. (En la duda, consulte el conjunto de datos de enlace y de la biblioteca)

Vamos a visualizar el resumen del conjunto de datos

Hay algunos de NaN en la TotalCharges columna, así que vamos a profundizar un poco más en esas filas

Dado que el número de filas con valores NaN son muy pequeñas (1,5% de los datos), y teniendo en cuenta que todos los de son churn = “NO”, que está sobrerrepresentado en los datos. Nos limitaremos a eliminar las filas de los datos de funcionamiento

Vamos a ver el barplots para la distribución de las columnas de categorías

Ahora vamos a la trama de la variable dependiente

Como se mencionó antes, podemos ver ahora el desequilibrio de los datos de la variable dependiente. Tendremos que lidiar con eso más adelante antes de modelar.

Ahora vamos a trazar las gráficas de caja para las variables cuantitativas.

El boxplot no muestran valores extremos en la distribución.

Ahora veamos la correlación para las variables cuantitativas:

Existe una alta correlación positiva entre los Cargos Totales y los Cargos Mensuales y los cargos totales y la Tenencia.

Ahora vamos a trazar algunas histogramas teniendo en cuenta el churn función de las características cuantitativas:

La imagen de arriba muestra que la tasa disminuye a medida que la tenencia de aumento, que es una buena indicación de que la compañía es capaz de mantener por largo tiempo de los clientes.👏👏👏

Las parcelas de arriba nos da algunos consejos de características tales como:

  • al Parecer características de Género, el Servicio de Teléfono, y Varias Líneas en realidad no tienen mucho efecto sobre el Churn;
  • no parece haber una gran diferencia entre las características de la Transmisión de TELEVISIÓN y Streaming de Películas;
  • La Seguridad en línea, la Protección de Dispositivos y el Soporte Técnico tienen histogramas muy similares y una relación de Rotación x No Rotación.

Para profundizar en un análisis bi-variable que incluya las características cuantitativas (Tenencia, Cargos mensuales y Cargos Totales), transformémoslas en factores dividiendo en 5 niveles diferentes, para cada característica, de acuerdo con el percentil 20.

Como se señaló antes, el porcentaje de churn disminuye con el número de meses que indica que los clientes son menos difíciles de mantener

Este gráfico de barras indican que cuanto mayor es el total de cargos hechos a un cliente hay una disminución en el churn porcentaje. Lo cual tiene sentido si cree que los clientes de mucho tiempo tendrán un “Cargo Total” más alto y, como hemos visto antes, los clientes de mucho tiempo tienen un porcentaje de rotación más bajo

Esta gráfica de barras es un poco más intuitiva y muestra que los cargos mensuales más altos tienden a tener un mayor porcentaje de abandono.

Modelado

Ahora que tenemos una mejor comprensión de los datos, comencemos a prepararnos para el modelado con el fin de predecir la rotación futura de clientes.

Dividamos este proceso en pasos, de acuerdo con el problema inmediato que estamos abordando:

  1. Tratar con el desequilibrio
  2. Definir nuestros algoritmos y métricas
  3. Probar nuestros algoritmos
  4. Tratar con la selección de características
  5. Resultados finales

Tratar con el desequilibrio ⚖️

Como hemos visto antes, nuestra variable dependiente está desequilibrada. Tenemos muchas alternativas para abordar este problema:

  • Muestreo excesivo
  • Muestreo insuficiente
  • Utilizando diferentes costes de peso
  • , etc.

Aquí probaremos la técnica de muestreo insuficiente, excesivo y GOLPEADO.

en Virtud de la Muestra de Equilibrio de los datos

Sobre muestreo de balance de los datos

la Definición de nuestros Algoritmos y Métricas

Bueno, ya que estamos tratando con un problema de clasificación, es decir, al final del día, solo podemos predecir “Batir” o “no Batir”, por lo tanto, debemos elegir un algoritmo bajo este “reino” específico. Eso nos deja con algunas opciones, tales como:

  • Naive-Bayes
  • Regresión Logística
  • Árboles de Decisión (o Bosque Aleatorio)
  • SVM
  • GBM

Para elegir la métrica tenemos que entender el problema. Por ejemplo,

  • “¿Los falsos positivos o los falsos negativos tienen implicaciones más perjudiciales?”🤔

En nuestro caso, no parece haber diferentes pesos para falsos positivos o falsos negativos, por lo tanto, usaremos la Precisión como nuestra métrica de comparación.

Probando nuestros algoritmos

Desplegaremos 5 algoritmos (Bayes ingenuos, Regresión logística, Bosque aleatorio, SVM y LightGBM). Usaremos una validación de 10 veces y ejecutaremos cada algoritmo 10 veces y calcularemos los resultados.

Repetiremos esta metodología para los 3 datos (Balanceados utilizando Muestreo Insuficiente, Muestreo Excesivo y SMOTE).

Con los resultados de los algoritmos, es construir una sola Exactitud Dataframe

Precisión Dataframe Estructura

ahora proyectamos boxplots para cada Algoritmo y cada equilibrada de datos

Diagrama de caja de la Precisión para los 10 CV repetidos 10 veces

La imagen de arriba muestra que tanto el Bosque aleatorio para los datos balanceados de Sobre muestra como para los datos balanceados de GOLPE presentaron los mejores resultados : precisión del 87%.

Tratar con la selección de características

Ahora que tenemos los algoritmos y los datos equilibrados que mostraron los mejores resultados, intentemos mejorar la precisión o simplificar el algoritmo haciendo la selección de características.

Así que elijo trabajar con los datos de balance de GOLPE.

Usemos la función varImp para ver las características que mejor representan la rotación en el algoritmo de bosque aleatorio

Las primeras cuatro funciones parecían bastante intuitivas teniendo en cuenta las visualizaciones que hemos visto durante EDA.

Así que crearemos otros 2 marcos de datos, uno con las primeras 4 funciones y otro con todas las funciones superiores hasta Sreaming TV.

Ahora vamos a ejecutar el bosque al azar con 10-cv repite 10 veces.

Ahora vamos a crear un nuevo boxplot con la exactitud de la distribución para cada uno de los 3 dataframes.

por Lo que los resultados para mid_features y completa los datos parecen ser mejor. Probemos si son significativamente diferentes

Por lo tanto, la prueba estadística rechaza la hipótesis nula, por lo que la distribución de precisión de los datos completos y de los datos intermedios son significativamente diferentes.

Así que terminamos esta selección de funciones manteniendo todas las columnas. Dado que todavía hay una pérdida significativa de precisión al eliminar las características.

Resultados finales

Recapitulemos nuestro modelo de predicción final. Obtuvimos una precisión promedio del 87%, utilizando SMOTE como una forma de equilibrar los datos y realizando 10 validaciones cruzadas repetidas durante 10 veces, utilizando Bosque Aleatorio como nuestro algoritmo.

Además, hemos capturado algunos aspectos interesantes de los datos de nuestros clientes, como:

  • La compañía parece estar “bien” con mantener a los clientes antiguos. La energía tiene que centrarse más en la implementación de estrategias para los nuevos clientes.
  • El tipo de contrato de mes a mes tiene una tasa de rotación mayor, incluso para cargos mensuales altos, en comparación con otros tipos de contratos.

  • la Fibra óptica tiene mayor batiendo las tarifas de ADSL para los clientes que tienen el servicio de internet.

  • Si bien la fibra óptica tiene tasas de batido más altas, también ofrece los recuentos de carga total más altos. Por lo tanto, es importante una mejor investigación sobre por qué los clientes no están satisfechos con el servicio de fibra óptica.

Sí, lo hemos logrado! Espero que haya disfrutado el viaje y me alegra escuchar sus pensamientos.

Pasos futuros

Como recordatorio, todavía hay muchas otras cosas que podría hacer en este conjunto de datos, como:

  • Pruebe nuevos algoritmos
  • Optimice algunos parámetros de afinación para ver si puede mejorar la precisión.

¡Gracias de nuevo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.