• Adolfo Sánchez Burón

Árboles de decisión. Detección de churn

Actualizado: 15 dic 2020

Se emplea el algoritmo de árboles de decisión para predecir la clasificación de sujetos en dos muestras (train y test) como churn o no churn (abandono).





Introducción al análisis de Árboles de decisión


Los métodos basados en árboles de decisión son algoritmos que estratifican el espacio del predictor en un número simple de regiones, observando en cada una de ellas la media o moda. Esto hace que la estructura resultante sea asemejada a un árbol, similar a un diagrama de flujo, donde caben destacar los siguientes conceptos:


  • Nodo raíz: que representa a toda la población a partir de al cual se comenzará a dividir en grupos homogéneos.

  • División: proceso mediante el cual un nodo se divide en dos o más nodos en función de una característica determinada.

  • Nodo terminal o nodo hoja: son los nodos sin hijos donde se termina le proceso e división.

  • Poda: proceso mediante el que vamos especificando condiciones para reducir la profundidad del árbol. Lo normal es que empecemos solicitando un árbol muy profundo, sin restricciones y posteriormente vayamos aplicando el proceso de poda, entre otras cosas, para que sea más interpretable.

  • Rama o subárbol: cada subsección del árbol de decisión.

  • Nodo principal: nodo a partir del cual se divide en otros subnodos.

  • Nodos hijo: subnodos que nacen de un nodo principal.


Frente a otros modelos caben destacar dos ventajas:


  • Los AD tiene considerables ventajas frente a los modelos lineales (como regresión lineal o regresión logística).

  • Es realmente sencilla su interpretación frente a los modelos de ensemble, como randon forest, baaging o boosting.


Hay dos tipos de algoritmos para árboles de decisión: los de regresión y los de clasificación.


  • Los AD de regresión predicen una TARGET cuantitativa.

  • Mientras que los AD de clasificación predicen la probabilidad de que un caso pertenecerá a una categoría determinada (esto es, la TARGET es categórica).


Características del caso


El caso empleado en este análisis es el 'Telco Customer Churn', que puede descargarse el dataset original de Kaggle. Este dataset ha sido previamente trabajado en cuanto a:

  • análisis descriptivo

  • limpieza de anomalías, missing y outliers

  • peso predictivo de las variables mediante random forest

  • discretización de las variables continuas para facilitar la interpretación posterior


Por lo que finalmente se emplea en este caso un dataset prepardo para iniciar el análisis de RL, que puede descargarse de Github.


El objetivo del caso es predecir la probabilidad de que un determinado cliente puede abandonar (churn) la empresa. La explicación de esta conducta estará basada en toda una serie de variables predictoras que se pueden clasificar en cuatro grupos:


  • Churn: la variable TARGET, con puntuaciones de 0 (no abandonó la empresa) y 1 (sí abandonó la empresa)

  • Servicios contratados: phone, multiple lines, internet, online security, online backup, device protection, tech support, and streaming TV and movies.

  • Información sobre cuentas dle cliente: how long they’ve been a customer, contract, payment method, paperless billing, monthly charges, and total charges.

  • Variables demográficas: gender, age range, and if they have partners and dependents


Tras estudiar el peso predictivo de estas variables sobre la TARGET, finalmente se redujo el número de predictores a 6: Internet Service, Contract, Payment Method, tenure, Monthly Charges y Total Charges.


Proceso


1. Entorno

El primer punto tratará sobre la preparación del entorno, donde se mostrará la descarga de las librerías empleadas y la importación de datos.


2. Análisis descriptivo

Se mostrarán y explicarán las funciones empleadas en este paso, dividiéndolas en tres grupos: Análisis inicial, Tipología de datos y Análisis descriptivo (gráficos).


3. Modelización

Se preparará lo necesario para modelizar con el análisis de RL, como es:


a) Preparar funciones:

  • Matriz de confusión

  • Métricas

  • Umbrales

  • Curva ROC y AUC


b) Particiones del dataset en dos grupos: training (70%) y test (30%)


4. Modelización con árboles de decisión


Por motivos didácticos, se dividirá en seis pasos:

Paso 1. Primer modelo

Paso 2. Segundo modelo

Paso 3. Interpretación del árbol*

Paso 4. Predict

Paso 5. Umbrales

Paso 6. Matriz de confusión

Paso 7. Métricas definitivas


Para ver el código en R y los resultados:

En HTML: RPubs

En pdf: GitHub


87 visualizaciones0 comentarios