Aplicación de Algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito PDF
Document Details
Uploaded by Pantarinto
IPN
2020
Espinosa-Zúñiga Javier Jesús
Tags
Summary
This document details the application of Random Forest and XGBoost algorithms to a credit card applications database. The study focuses on identifying applications most likely to be granted credit cards from a business perspective. The document covers the theoretical basis for both algorithms and presents results, with a focus on business implications.
Full Transcript
I ngeniería I nvestigación y T ecnología volumen XXI (número 3), julio-septiembre 2020 1-16 ISSN 2594-0732 FI-UNAM artículo arbitrado Información del artículo: Recibido: 23 de agosto de 2019, reevaluado: 23 y 26 de agosto de 2019, 27 de febrero de 2010, aceptado: 28 de abril de 2020 Attribution-NonC...
I ngeniería I nvestigación y T ecnología volumen XXI (número 3), julio-septiembre 2020 1-16 ISSN 2594-0732 FI-UNAM artículo arbitrado Información del artículo: Recibido: 23 de agosto de 2019, reevaluado: 23 y 26 de agosto de 2019, 27 de febrero de 2010, aceptado: 28 de abril de 2020 Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Application of Random Forest and XGBoost algorithms based on a credit card applications database Espinosa-Zúñiga Javier Jesús Grupo Financiero Ve por Más S.A. de C.V., México Gerencia CRM Correo: [email protected] https://orcid.org/0000-0001-6828-2145 Resumen Dentro de la gama de algoritmos de aprendizaje automático existentes destacan actualmente dos: Random Forest y XGBoost. Ambos han adquirido gran popularidad. Random Forest es un algoritmo que surgió hace casi veinte años y se utiliza ampliamente por el balance que ofrece entre complejidad y resultados. Por su parte, XGBoost es un algoritmo que ha despertado gran interés, pues aunque es relativamente reciente es considerado actualmente el estado del arte en algoritmos de aprendizaje automático por sus resultados. Uno de los sectores en los que se aplican este tipo de algoritmos es el financiero. Algunos ejemplos de su aplicación en este sector son: segmentación de clientes, detección de fraudes, pronóstico de ventas, autenticación de clientes y análisis de com- portamiento de mercados, entre otros. Un área de particular interés en este sector es la identificación de clientes a quienes otorgar una tarjeta de crédito, esto es crítico para las instituciones financieras, pues una selección incorrecta de estos clientes podría derivar en un incremento de su cartera vencida. En el presente estudio se aplicaron los algoritmos Random Forest y XGBoost sobre una base de solicitudes de tarjetas de crédito (donada por un banco australiano para fines de investigación) para identificar las solicitudes con mayor probabilidad de otorgarles una tarjeta. Los modelos obtenidos se compararon estadísticamente (donde se seleccionó el mo- delo con el algoritmo XGBoost) y se presentaron los resultados con gráficas que permiten responder dos preguntas clave desde el enfoque de negocio: ¿Cuáles son las solicitudes a las que hay que otorgar una tarjeta? y ¿Qué resultados esperamos en caso de aplicar el modelo? La aportación más importante del presente estudio es aplicar dos algoritmos muy efectivos sobre esta base de solicitudes de tarjetas de crédito con un enfoque de negocios. Descriptores: Aprendizaje automático, XGBoost, Random Forest, árbol de decisión, hiperparámetro. Abstract Two of the existing machine learning algorithms currently stand out: Random Forest and XGBoost. Both have become very popular. Random Forest is an algorithm that emerged almost twenty years ago and is widely used for the balance it offers between complexi- ty and results. On the other hand, XGBoost is an algorithm that has aroused great interest because although it is relatively recent, it is currently considered the state of the art in machine learning algorithms for its results. One of the sectors in which this type of algorithm is applied is the financial. Some examples of its application in this sector are: customer segmentation, fraud detection, sales forecas- ting, customer authentication and market behavior analysis. An area of particular interest in this sector is the identification of clients to whom to grant a credit card: this is critical for financial institutions since an incorrect selection of these clients could lead to an increase in their past due portfolio. In the present study the Random Forest and XGBoost algorithms were applied on a credit card application database (donated by an Australian bank for research purposes) to identify the applications most likely to be granted a credit card. The models obtained were compared statistically (from which the model obtained with the XGBoost algorithm was se- lected) and the results were presented with graphs that allow answering two key questions from the business perspective: what are the requests to which a card must be awarded? and what results do we expect if the model is applied? The most important contribu- tion of the present study is to apply two very effective algorithms on this database with a business focus. Keywords: Machine Learning, XGBoost, Random Forest, decision tree, hyper parameter. https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Introducción etapa se aplican los modelos Random Forest y XG Boost sobre la “base limpia”; Análisis de resultados, aquí se Un factor crítico para las instituciones financieras es de- obtienen las gráficas que permitirán responder las cua- terminar, de una base de solicitudes, a quién otorgar tro preguntas mencionadas anteriormente y finalmente una tarjeta de crédito. Para ello, se apoyan cada vez más las Conclusiones, que marcan los resultados obtenidos en algoritmos de aprendizaje automático, con los cuales y proponen siguientes pasos a fin de dar continuidad al se obtienen modelos que permiten en un momento estudio. dado tomar decisiones lo más precisas posibles en este Se utiliza lenguaje de programación R (lenguaje gra- sentido. tuito muy popular para Estadística y Ciencia de Datos) Sin embargo, en el sector financiero es importante (CRAN, 2019). que los resultados obtenidos con estos modelos se pre- senten con un enfoque de negocio, ya que si bien, la Marco teórico metodología y sustento estadístico dan soporte a los resultados, el enfoque de negocios permite aplicarlos El aprendizaje automático es una rama de las ciencias de manera práctica. Esto es aún más importante cuando computacionales que ha adquirido gran auge en los úl- los mismos se presentan a tomadores de decisiones en timos años. Aunque existen muchas definiciones una el sector financiero. de las más comunes es: “campo de estudio que da a las En el presente estudio se determinó, de una base de computadoras la habilidad de aprender sin ser progra- solicitudes de tarjetas de crédito donada por un banco madas explícitamente”. Abarca una amplia gama de australiano para fines de investigación (Universidad de técnicas que se clasifican en dos grandes tipos: aprendi- California, 2019), la probabilidad de otorgarles una tar- zaje supervisado (en el que se tiene una variable objeti- jeta. Para ello, se aplicó un análisis exploratorio que vo y se “entrena” a un programa informático con un permitió conocer las características de la base, se prepa- conjunto de datos para aplicar el resultado en un nuevo raron los datos de acuerdo con los resultados del análi- conjunto de datos) y aprendizaje no supervisado (en el sis y se dividió la base en dos grupos (entrenamiento y que no se tiene variable objetivo y el programa informá- validación) donde el primero se utilizó para entrenar tico debe encontrar patrones y relaciones en un conjun- los modelos y el segundo para compararlos entre sí a to de datos) (Sandoval, 2017). fin de elegir el más conveniente. El algoritmo Random Forest (Breiman, 2001) es una Finalmente, se muestran los resultados del modelo técnica de aprendizaje supervisado que genera múlti- elegido con un enfoque de negocio mediante dos grafi- ples árboles de decisión sobre un conjunto de datos de cas: curva de ganancia acumulada y curva de respuesta entrenamiento: los resultados obtenidos se combinan a acumulada. fin de obtener un modelo único más robusto en compa- Con esta base de solicitudes se han publicado ya ración con los resultados de cada árbol por separado múltiples estudios que utilizan algoritmos de aprendi- (Lizares, 2017). Cada árbol se obtiene mediante un pro- zaje automático, solo por citar algunos ejemplos: Huo et ceso de dos etapas: al. (2006) utilizaron esta base para su propuesta de algo- ritmo de poda de árboles, Tumer y Ghosh (2002) la em- 1. Se genera un número considerable de árboles de de- plearon para su propuesta de integración de múltiples cisión con el conjunto de datos. Cada árbol contiene salidas de clasificadores y Quinlan (1987), (quien de un subconjunto aleatorio de variables m (predicto- hecho fue quien donó esta base) analizó diversas técni- res) de forma que m < M (donde M = total de predic- cas para simplificar árboles de decisión sobre la misma. tores). Sin embargo, estos estudios no analizan la base con un 2. Cada árbol crece hasta su máxima extensión. enfoque de negocios. El estudio se divide en las siguientes secciones: Mar- Cada árbol generado por el algoritmo Random Forest co teórico, donde se comentan las características gene- contiene un grupo de observaciones aleatorias (elegi- rales de los modelos Random Forest y XG Boost; das mediante bootstrap, que es una técnica estadística Análisis exploratorio, en esta sección se estudian las para obtener muestras de una población donde una ob- características de los datos que conforman la base de servación se puede considerar en más de una muestra). solicitudes de crédito en la que se aplicarán los modelos Las observaciones no estimadas en los árboles (también Random Forest y XG Boost; Preparación de datos, don- conocidas como “out of the bag”) se utilizan para validar de se seleccionan las variables para obtener una “base el modelo. Las salidas de todos los árboles se combinan limpia” para la etapa de modelado; Modelado, en esta en una salida final Y (conocida como ensamblado) que 2 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús se obtiene mediante alguna regla (generalmente el pro- conjunto de datos usado para entrenar el modelo. medio, cuando las salidas de los árboles del ensambla- En el caso de predictores categóricos con diferente do son numéricas y, conteo de votos, cuando las salidas número de niveles, los resultados pueden sesgarse de los árboles del ensamblado son categóricas). Lo an- hacia los predictores con más niveles. terior se muestra gráficamente en la Figura 1. d) Se tiene poco control sobre lo que hace el modelo (en cierto sentido es como una caja negra). Las ventajas de Random Forest hacen que se convierta en una técnica ampliamente utilizada en muchos cam- pos, por ejemplo, teledetección (para clasificación de imágenes), bancos (para detección de fraudes y clasifi- cación de clientes para otorgamiento de crédito), medi- cina (para analizar historiales clínicos a fin de identificar enfermedades potenciales en los pacientes), finanzas (para pronosticar comportamientos futuros de los mer- cados financieros) y comercio electrónico (para pronos- ticar si un cliente comprará, o no, cierto producto), entre otros. Figura 1. Algoritmo Random Forest El algoritmo XG Boost (Extreme Gradient Boosting) es una técnica de aprendizaje supervisado (Chen y Las principales ventajas del algoritmo Random Forest Guestrin, 2016) también basada en árboles de decisión (Cánovas et al., 2017) son: y que es considerada el estado del arte en la evolución de estos algoritmos (Figura 2). a) Pueden usarse para clasificación o predicción: En el primer caso, cada árbol “vota” por una clase y el re- sultado del modelo es la clase con mayor número de “votos” en todos los árboles, de forma que cada nueva observación se presenta a cada uno de los ár- boles y se asigna a la clase más “votada”. En el se- Figura 2. Evolución de los algoritmos basados en árboles de gundo caso, el resultado del modelo es el promedio decisión de las salidas de todos los árboles. b) El modelo es más simple de entrenar en compara- El algoritmo XG Boost tiene las siguientes característi- ción con técnicas más complejas, pero con un rendi- cas (Chen y Guestrin, 2016): miento similar. c) Tiene un desempeño muy eficiente y es una de las a) Consiste en un ensamblado secuencial de árboles de técnicas más certeras en bases de datos grandes. decisión (este ensamblado se conoce como CART, d) Puede manejar cientos de predictores sin excluir acrónimo de “Classification and Regression Trees”). ninguno y logra estimar cuáles son los predictores Los árboles se agregan secuencialmente a fin de más importantes, es por ello que esta técnica tam- aprender del resultado de los árboles previos y co- bién se utiliza para reducción de dimensionalidad. rregir el error producido por los mismos, hasta que e) Mantiene su precisión con proporciones grandes de ya no se pueda corregir más dicho error (esto se co- datos perdidos. noce como “gradiente descendente” (Figura 3). b) La principal diferencia entre los algoritmos XG- Por otra parte, sus principales desventajas son las si- Boost y Random Forest es que en el primero el usua- guientes: rio define la extensión de los árboles mientras que en el segundo los árboles crecen hasta su máxima a) La visualización gráfica de los resultados puede ser extensión. difícil de interpretar. c) Utiliza procesamiento en paralelo, poda de árboles, b) Puede sobre ajustar ciertos grupos de datos en pre- manejo de valores perdidos y regularización (opti- sencia de ruido. mización que penaliza la complejidad de los mode- c) Las predicciones no son de naturaleza continua y no los) para evitar en lo posible sobreajuste o sesgo del puede predecir más allá del rango de valores del modelo. I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 3 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito ner et al., 2017), seguridad vial (Bahador et al., 2020) y análisis de mercados financieros (Nobre y Ferreira, 2019), entre otros. Análisis exploratorio Figura 3. Algoritmo XGBoost Una vez obtenida la base de solicitudes de crédito para El algoritmo XGBoost funciona así: el estudio (UCI, 2020), se realiza un análisis explorato- rio de la misma. Las características principales de la a) Se obtiene un árbol inicial F0 para predecir la varia- base son: ble objetivo “y”, el resultado se asocia con un resi- dual (y – F0). 1. Contiene un total de 690 registros. b) Se obtiene un nuevo árbol h1 que ajusta al error del 2. Los nombres de las columnas se modifican de ori- paso previo. gen, a fin de proteger la confidencialidad de la mis- c) Los resultados de F0 y h1 se combinan para obtener ma. el árbol F1, donde el error cuadrático medio de F1 3. Su layout tiene 16 columnas (15 predictores y una será menor que el de F0: variable objetivo que indica si se le otorgó un crédi- to o no, a cada solicitud (Tabla 1). F1 (x) < - F0 (x) + h1(x) Tabla 1. Layout original de la base de aplicaciones de crédito d) Este proceso se sigue iterativamente hasta que el Núm. Columna Tipo de dato Comentario error es minimizado lo más posible de la siguiente 1 A1 Categórica Variable predictor forma: 2 A2 Numérica Variable predictor 3 A3 Numérica Variable predictor Fm (x) < - Fm-1 (x) + hm(x) 4 A4 Categórica Variable predictor Las principales ventajas del algoritmo XGBoost son: 5 A5 Categórica Variable predictor 6 A6 Categórica Variable predictor a) Puede manejar grandes bases de datos con múlti- 7 A7 Categórica Variable predictor ples variables. 8 A8 Numérica Variable predictor b) Puede manejar valores perdidos. 9 A9 Categórica Variable predictor c) Sus resultados son muy precisos. d) Excelente velocidad de ejecución. 10 A10 Categórica Variable predictor 11 A11 Numérica Variable predictor Por otra parte, sus principales desventajas son: 12 A12 Categórica Variable predictor 13 A13 Categórica Variable predictor a) Puede consumir muchos recursos computacionales 14 A14 Categórica Variable predictor en grandes bases de datos, por lo que se recomienda 15 A15 Numérica Variable predictor antes de aplicar esta técnica en bases de este tipo, 16 A16 Categórica Variable objetivo determinar cuáles son las variables que aportarán más información a fin de considerar solo dichas va- riables en la obtención del modelo. A fin de facilitar el manejo de las variables se cambiaron b) Se deben ajustar correctamente los parámetros del sus nombres como se indica en la Tabla 2. algoritmo a fin de minimizar el error de precisión y evitar sobreajuste del modelo (lo que puede darse si se maneja un número muy grande de árboles). c) Solo trabaja con vectores numéricos, por lo que se requieren convertir previamente los tipos de datos no numéricos a numéricos. Las ventajas de este algoritmo hace que se aplique en campos como: identificación de huellas digitales (Luck- 4 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús Tabla 2. Layout con nombres de variables modificadas Nombre Núm. Nombre modificado Descripción original 1 A1 Género Género del solicitante (masculino, femenino) 2 A2 Edad Edad del solicitante 3 A3 Saldo Saldo del solicitante 4 A4 Estado civil Estado civil del solicitante 5 A5 Entidad bancaria Banco del cual el solicitante es cliente 6 A6 Educación Nivel educativo del solicitante 7 A7 Nacionalidad Nacionalidad del solicitante 8 A8 Años laborando Número de años que el solicitante tiene laborando 9 A9 Bandera 1 Indica si el solicitante aplicó una solicitud anteriormente 10 A10 Bandera 2 Indica si el solicitante labora actualmente 11 A11 Calificación Calificación crediticia del solicitante 12 A12 Bandera 3 Indica si el solicitante tiene licencia de manejo 13 A13 Bandera 4 Indica si el solicitante es ciudadano al momento de la solicitud 14 A14 Código postal Código postal donde reside el solicitante 15 A15 Ingreso Ingreso anual del solicitante 16 A16 Bandera5 Indica si la solicitud fue aprobada Al obtener el análisis exploratorio sobre la base se tiene que: Para la variable “Género” (Figura 5) se tienen 12 nu- los, 210 registros caen en la categoría “a” y 468 regis- En general, las variables de la base contienen pocos tros caen en la categoría “b” (no se tienen elementos nulos. Las variables con mayor volumen de nulos para determinar la categoría que corresponde a gé- son: código postal (1.88 %), género (1.74 %) y edad nero masculino o femenino). (1.74 %), (Figura 4) donde la columna “p_na” se re- fiere al porcentaje de nulos por variable. Figura 4. Porcentaje de nulos por variable Figura 5. Género del solicitante I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 5 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Para la variable “Estado civil” (Figura 6) se tienen 6 Para la variable “Nivel educativo” (Figura 8) se tie- nulos, 2 registros caen en la categoría “l”, 519 regis- nen 9 nulos y 681 registros distribuidos entre 14 ca- tros caen en la categoría “u” y 163 registros caen en tegorías (la categoría con mayor número de registros la categoría “y” (no se tienen elementos para deter- es la “cc” con 137 registros). minar a qué estado civil corresponde cada catego- Para la variable “Nacionalidad” (Figura 9) se tienen ría). 9 nulos y 681 registros distribuidos entre 9 catego- Para la variable “Entidad bancaria” (Figura 7) se tie- rías (la categoría con mayor número de registros es nen 6 nulos, 519 registros caen en la categoría “g”, 2 la “v” con 399 registros). registros caen en la categoría “gg” y 163 registros caen en la categoría “p”: Figura 6. Estado civil del solicitante Figura 8. Nivel educativo del solicitante Figura 7. Entidad bancaria del solicitante Figura 9. Nacionalidad del solicitante 6 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús Para la variable “bandera1” (que indica si el solici- categoría “f” corresponde a solicitantes que no han tante ya aplicó previamente, Figura 10) no se tienen aplicado previamente y la categoría “t” corresponde nulos, 329 registros están en la categoría “f” y 361 a solicitantes que ya aplicaron previamente. registros en la categoría “t”. Se asume que la catego- Para la variable “bandera4” (que indica si el solici- ría “f” corresponde a solicitantes que no han aplica- tante es ciudadano, Figura 12) no se tienen nulos, do previamente y la categoría “t” corresponde a 625 registros están en la categoría “g”, 8 registros solicitantes que ya aplicaron previamente. están en la categoría “p” y 57 registros están en la Para la variable “bandera2” (que indica si el solici- categoría “s”. tante labora actualmente, Figura 11) no se tienen re- Para la variable “bandera5” (que indica si la solici- gistros nulos, 395 registros están en la categoría “f” tud fue aprobada, Figura 13) no se tienen nulos, 383 y 295 registros en la categoría “t”. Se asume que la registros están en la categoría “-“, 307 registros es- Figura 10. ¿El solicitante ya aplicó previamente? Figura 12. ¿El solicitante es ciudadano al momento de la solicitud? Figura 11. ¿El solicitante labora actualmente? Figura 13. ¿La solicitud fue aprobada? I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 7 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito tán en la categoría “+”. Se asume que la categoría por lo que en su mayoría se trata de solicitantes “-“corresponde a solicitudes rechazadas y la cate- jóvenes. goría “+” corresponde a solicitudes aprobadas. Para la variable “Saldo” (Figura 15) la mediana está Para la variable “código postal” se tienen un total de en $2.75 dólares australianos (se supone este tipo de 169 códigos postales donde residen los solicitantes. moneda por el origen de la base de datos), el míni- La Tabla 3 muestra los diez códigos postales con mo es $0.00 (es decir, hay solicitantes sin saldo), el mayor volumen de solicitantes, notar que el mayor máximo es $28.00 dólares australianos y se tiene re- volumen corresponde a solicitantes con código pos- gular proporción de valores extremos. El histogra- tal 0, también se incluye el total de 13 solicitantes sin ma muestra una alta concentración de solicitantes código postal. con saldos bajos. Para la variable “Años laborando” (Figura 16) la me- Tabla 3. Códigos postales con mayor volumen de solicitantes diana está en 1 año, el mínimo en 0 años (es decir, hay Núm. Código postal Total solicitantes que son clientes nuevos del banco en 1 0 132 cuestión, ya que ni siquiera tienen un año de 2 120 35 antigüedad con el mismo), el máximo es 28.5 años y se tienen regular proporción de valores extremos. El 3 200 35 histograma muestra una alta concentración de solici- 4 160 34 tantes con pocos años laborando en su empleo actual. 5 100 30 Para la variable “Calificación” (Figura 17) la media- 6 80 30 na y el mínimo están en 0 puntos, el máximo es 67 7 280 22 puntos y se tienen alta proporción de valores extre- 8 180 18 mos. El histograma muestra una alta concentración 9 140 16 de solicitantes en calificaciones bajas. Para la variable “Ingreso” (Figura 18) la mediana 10 240 14 está en $5 dólares australianos, el mínimo en $0 dó- 11 NA 13 lares australianos (es decir, hay solicitantes que re- portaron no tener ingresos, o bien, podría tratarse Para la variable “Edad” (Figura 14) la mediana de un error de calidad de datos, ya que difícilmente está en 28.46 años, el mínimo en 13.75 años, el se le daría crédito a un solicitantes sin ingresos), el máximo en 80.25 años y se tiene regular propor- máximo en $100,000.00 dólares australianos y se tie- ción de valores extremos (no se descartaron los 12 ne alta proporción de valores extremos. El histogra- nulos en la variable). El histograma muestra que ma muestra que la mayoría de los solicitantes son las edades se cargan ligeramente a la izquierda, de ingresos bajos. Figura 14. Edad de solicitantes 8 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús Figura 15. Saldo de solicitantes Figura 16. Años laborando de solicitantes Figura 17. Calificación de solicitantes I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 9 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito La Tabla 4 muestra los estadísticos básicos para las va- serva que existe cierta correlación entre la edad y los riables numéricas en la base. años laborales del solicitante, así como entre el saldo y Finalmente, la Figura 19 muestra la matriz de correla- los años laborales del solicitante. Asimismo, se observa ción entre las variables numéricas, en la misma se ob- Figura 18. Ingreso de solicitantes Tabla 4. Estadísticos básicos de variables numéricas Variable Mínimo Cuartil 1 Media Mediana Cuartil 3 Máximo Edad 13.75 22.60 31.57 28.46 38.23 80.25 Saldo 0.000 1.000 4.759 2.750 7.207 28.000 Años laborando 0.000 0.165 2.223 1.000 2.625 28.500 Calificación 0.0 0.0 0.0 2.4 3.0 67.0 Ingreso 0.0 0.0 1,017.4 5.0 395.5 100,000.0 Figura 19. Matriz de correlación de variables numéricas 10 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús que no hay correlación entre el ingreso del solicitante y 1. Base de entrenamiento: Con esta base se “entrenarán“ el resto de variables numéricas. ambos modelos (Random Forest y XGBoost) y ten- drá 70 % del total de registros elegidos aleatoria- Preparación de datos mente (473 registros). 2. Base de validación: Con esta base se validarán los re- De acuerdo con los resultados del análisis exploratorio sultados de ambos modelos y contendrá 30 % res- y a las pruebas realizadas para generar las bases de en- tante del total de registros (204 registros). trenamiento y validación se realizarán las acciones in- dicadas en la Tabla 5 como paso previo a la etapa de Modelado modelado. Una vez aplicadas dichas acciones la base queda en Se aplicaron los algoritmos Random Forest y XGBoost 677 registros y se llamará en lo sucesivo “base limpia”. sobre la base de entrenamiento a fin de “entrenar” a los Posteriormente, se normalizan las variables numéri- correspondientes modelos, con los parámetros default cas: edad, saldo, años laborando, calificación e ingreso. de cada algoritmo en R. La Figura 20 muestra la distribución de las variables sin Posteriormente, se aplicaron los modelos “entrena- normalizar (se observa que ninguna se parece a una dos” sobre la base de validación. La Figura 22 muestra distribución normal) y en la Figura 21 se muestra un las curvas ROC obtenidas, que permiten comparar am- fragmento de las variables normalizadas. bos algoritmos en términos de error tipo I (falsos positi- Finalmente, se divide la base limpia en dos partes vos, eje X) y clasificaciones correctas (verdaderos para la etapa de modelado: positivos, eje Y) (Fawcett, 2005). Se observa que la curva Tabla 5. Acciones previas a la etapa de modelado Variable Acción Se imputará con la moda (valor “b”) los 12 registros con valor Género faltante Se imputará con la moda (valor “u”) los 6 registros con valor faltante y se descartan los 2 registros con valor “l”(a fin de evitar Estado civil que queden concentrados en la base de entrenamiento o en la de validación) Se imputará con la moda (valor “g”) los 6 registros con valor Entidad bancaria faltante Nivel educativo Se descartarán los 9 registros con valor faltante Se imputará con la moda (valor “v”) los 9 registros con valor faltante y se descartan los 2 registros con valor “o” (a fin de evitar Nacionalidad que queden concentrados en la base de entrenamiento o en la de validación) ¿Ya aplicó previamente a una solicitud? Se considerará sin cambio alguno ¿El solicitante labora actualmente? Se considerará sin cambio alguno ¿El solicitante es ciudadano? Se descartan los 8 registros con valor “p” (a fin de evitar que queden concentrados en la base de entrenamiento o en la de validación) ¿La solicitud de crédito fue aprobada? Se reemplazarán los “+” por 1 y los “-“ por 0 Código postal Se descartará la variable por el alto volumen de registros asignados a código postal 0 Edad Se imputará con la mediana (28.46 años) los 12 registros con valor faltante Saldo Se considerará sin cambio alguno Años laborando Se considerará sin cambio alguno Calificación Se considerará sin cambio alguno Ingreso Se considerará sin cambio alguno I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 11 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Figura 20. Distribución de variables numéricas sin normalizar Figura 21. Variables normalizadas (fragmento) Figura 22. Curvas ROC (base de validación) 12 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús del modelo XGBoost tiene una tasa de verdaderos posi- delo XGBoost. Algunas características de esta gráfica tivos ligeramente mejor al modelo Random Forest. son: La Figura 23 muestra el AUC (área bajo la curva, métrica que mide la precisión de un modelo donde en- a) El eje X contiene deciles de clientes donde el decil 1 tre más cercano se encuentre a uno se considera que el corresponde a las solicitudes con mayor probabili- modelo es más preciso) de los modelos Random Forest dad de que se les otorgue una tarjeta de crédito y XGBoost (en ambos casos sobre la base de validación) mientras que el eje Y contiene la probabilidad acu- donde se observa que el modelo XGBoost tiene un AUC mulada de otorgar una tarjeta de crédito por decil. mayor al modelo Random Forest. b) En el decil 5 se alcanza la máxima probabilidad acu- La Figura 24 muestra la importancia de predictores mulada lo que en términos de negocio significa que (es decir, cuáles son los predictores que más pesan para en lugar de gestionar la base completa de solicitudes decidir si a una solicitud se le dará tarjeta de crédito en el banco australiano podría enfocarse solo a 50 % de este caso) de acuerdo con el modelo Random Forest, las solicitudes con mayor probabilidad de otorgarles donde se observa que “bandera1” (indica si el solicitan- una tarjeta de crédito, lo que redunda en una reduc- te ya aplicó previamente para una tarjeta de crédito) es ción de costos y esfuerzos. La probabilidad acumula- el predictor que pesa más. da en el decil 5 para la base de validación es de 92 % La Figura 25 muestra la importancia de predictores (en la base de entrenamiento es de 98 %). de acuerdo con el modelo XGBoost, donde se observa c) La curva continua azul (correspondiente al modelo que “bandera1” es también el predictor que más pesa obtenido en la base de validación) está cercana a la para determinar si se da una tarjeta de crédito a una curva punteada del mismo color (correspondiente solicitud. al modelo óptimo sobre dicha base), lo que indica que el modelo XGBoost obtenido ofrece resultados Análisis de resultados aceptables. Las curvas ROC y la métrica AUC obtenidas en la sec- La Figura 27 responde la segunda pregunta mediante ción anterior dan el sustento técnico para comparar los una curva de respuesta acumulada, donde se indica modelos obtenidos (en este caso se elige el modelo XG- que el porcentaje de respuesta (solicitudes a las que se Boost dado que su AUC es mayor), sin embargo, pre- otorga una tarjeta de crédito en este caso) en la base de sentar solo estos resultados a una audiencia de negocios validación al considerar los 5 deciles con mayor proba- puede no ser suficiente. Uno de los mayores retos en bilidad, de acuerdo con el modelo XGBoost, el porcen- minería de datos es presentar los resultados de un mo- taje de respuesta esperada es de 85.3 %. De acuerdo con delo a audiencias no técnicas en términos de negocio. la gráfica en caso de no aplicar el modelo (líneas pun- En el caso particular de la base analizada surgen dos teadas) el porcentaje de respuesta esperado es poco me- preguntas de interés desde el enfoque de negocios: nor a 50 %. ¿Cuáles son las solicitudes a las que hay que otorgar una tarjeta? y ¿Qué resultados esperamos en caso de aplicar el modelo? La Figura 26 responde la primera pregunta median- te la curva de ganancia acumulada de la base limpia ya considerando las probabilidades calculadas por el mo- Figura 23. AUC de modelo Random Forest I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 13 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Figura 24. Importancia de predictores (modelo Random Forest) Figura 25. Importancia de predictores (modelo XGBoost) 14 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Espinosa-Zúñiga Javier Jesús Figura 26. Curva de ganancia acumulada (modelo XGBoost) Figura 27. Curva de respuesta acumulada (modelo XGBoost) I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM 15 https://doi.org/10.22201/fi.25940732e.2020.21.3.022 Aplicación de algoritmos Random Forest y XGBoost en una base de solicitudes de tarjetas de crédito Conclusiones Cánovas, F., Alonso, F., Gomariz, F. & Oñate, F. (2017). Modifica- tion of the random forest algorithm to avoid statistical depen- De acuerdo con el estudio realizado se tiene que: dence problems when classifying remote sensing imagery. Computers & Geosciences, 103, 1-11. https://doi.org/10.1016/j. 1. El modelo XGBoost fue más preciso que el modelo cageo.2017.02.012. Random Forest en esta base de solicitudes (esto Chen, T. & Guestrin, C. (2016). XGBoost: A scalable tree boosting coincide con la literatura, donde se señala que los system. proceedings of the 22nd ACM SIGKDD International resultados del algoritmo XGBoost generalmente su- Conference on Knowledge Discovery and Data 785-794. KDD peran a otros algoritmos). ‘16. https://doi.org/10.1145/2939672.2939785. 2. Los modelos coinciden en determinar que el predic- CRAN. (2019). The comprehensive R archive network. Recupera- tor más importante es que el solicitante haya solici- do el 12 de junio de 2019 de The Comprehensive R Archive tado previamente una tarjeta de crédito. Network. https://cran.r-project.org/ 3. Las curvas de ganancia acumulada y respuesta acu- Fawcett, T. (2005). An introduction to ROC analysis. Pattern Recognition mulada dan un enfoque práctico a los resultados del Letters, 27 (8), 861-874. https://doi.org/10.1016/j.patrec.2005.10.010. modelo elegido (XGBoost en este caso), el cual es Huo, X., Bum, S., Tsui, L. & Wang S. (2006). FBP: A Frontier-Based importante en el ámbito del que proviene la base tree-pruning algorithm. INFORMS Journal of Computing, 18 (sector financiero). (4), 407-530. https://doi.org/10.1287/ijoc.1050.0133. Lizares, M. (2017). Universidad Nacional Mayor de San Marcos. Se proponen los siguientes pasos a fin de dar continuad Recuperado el 10 de marzo de 2020 de http://cybertesis.unm- al presente estudio: sm.edu.pe/bitstream/handle/cybertesis/7122/Lizares_cm. pdf?sequence=1&isAllowed=y Replicar el estudio con otros modelos sobre la mis- Luckner, M., Topolski, B. & Mazurek, M. (2017). Application of ma base de datos. Otros modelos que se puedan XGBoost algorithm in fingerprinting localisation task. 16th aplicar a fin de comparar su precisión con los resul- IFIP TC8 International Conference, CISIM 2017 661-671. tados obtenidos en el presente estudio son: análisis Bialystok, Poland: CISIM. https://doi.org/10.1007/978-3-319- discriminante, logit multinomial, redes neuronales, 59105-6_57. algoritmos genéticos y SVM, Nobre, J. & Ferreira, R. (2019). Combining principal component Considerar otras métricas de comparación adicio- analysis, discrete wavelet transform and XGBoost to trade in nalmente a la curva ROC y métrica AUC, por ejem- the financial markets. Expert Systems with Applications, 125, plo: coeficientes Kappa o Alfa. 181-194. https://doi.org/10.1016/j.eswa.2019.01.083. Replicar el análisis con una función de entrenamien- Quinlan, J. R. (1987). Simplifying decision trees. International Journal to personalizada para XGBoost, este algoritmo per- of Man-Machine Studies, 27 (3), 221-234. https://doi.org/10.1016/ mite utilizar funciones de entrenamiento creadas S0020-7373(87)80053-6. por el usuario, por lo que sería interesante replicar Sandoval, L. L. (2017). Machine Learning algorythms for analysis el análisis con una función de entrenamiento que el and data prediction. 2017 IEEE 37th Central America and Pana- modelo no incluya por default. ma Convention (CONCAPAN XXXVII), 1-5. Managua, Nicara- gua. IEEE. http://doi.org/10.1109/CONCAPAN.2017.8278511 Tumer & Ghosh. (2002). Robust combining of disparate classifiers Agradecimientos through order statistics. Pattern Anal Appl, 5, 189-200. https:// El autor agradece a Grupo Financiero Ve por Más S.A. doi.org/10.1007/s100440200017. de C.V. su apoyo para realizar el presente artículo. UCI. (2020). UCI Machine learning repository. Recuperado el 21 de mayo de 2019 de Center for Machine Learning and Intelligent Systems. http://archive.ics.uci.edu/ml/datasets/Credit+Approval Referencias Universidad de California, I. (2019). Recuperado el 21 de mayo de Bahador, A., Movahedi A., Taghipour, H., Derrible, S. & Moham- 2019 de https://archive.ics.uci.edu/ml/datasets/Credit+Approval madian, A. (2020). Toward safer highways, application of XG- Boost and SHAP for real-time accident detection and feature analysis. Accident Analysis & Prevention, 136. https://doi. org/10.1016/j.aap.2019.105405. Breiman, L. (2001). Random Forests. Machine Learning, 45, 5-32 https://doi.org/10.1023/A:1010933404324. 16 I ngeniería I nvestigación y T ecnología , volumen XXI (número 3), julio-septiembre 2020: 1-16 ISSN 2594-0732 FI-UNAM