Extreme Gradient Boosting vs Modelos de algoritmos

Extreme Gradient Boosting vs Modelos de algoritmos

En la anterior entrada de blog Extreme Gradient Boosting se describía un estudio realizado por BOTECH en el que se comparaban diferentes modelos de análisis predictivos de clasificación, los cuales clasificaban diferentes transacciones realizadas con tarjetas de crédito en transacciones fraudulentas y no fraudulentas. El objetivo era determinar qué algoritmo era el que tenía mayor rendimiento. El algoritmo de clasificación Extreme Gradient Boosting fue el que obtuvo los mejores resultados de nuestro estudio.

Tanto el estudio anterior, como este último, se han realizado con datos de transacciones efectuadas con tarjetas de crédito, aunque los estudios y las conclusiones se podrían aplicar a cualquier tipo de fraude.

Una vez visto el mejor algoritmo, pensamos: ¿y si lo comparamos con un grupo?, es decir, ¿y si lo comparamos con un modelo generado por varios algoritmos?, ¿seguiría siendo la mejor opción?

Partiendo de esta premisa se han implementado tres nuevos modelos, y cada uno de ellos conlleva una combinación de diferentes algoritmos de clasificación:

  • El modelo A está basado en los algoritmos Decision Tree, Logistic Regression, k nearest neighbor y Support Vector Classification (SVC).
  • El modelo B ha sido creado mediante los algoritmos Random Forest, Extreme Gradient Boosting (XGB) y Artificial Neural Networks.
  • El modelo C se ha construido gracias a los cuatro algoritmos que mayor rendimiento individual obtuvieron de los siete algoritmos de clasificación utilizados en los dos modelos anteriores: k nearest neighbor, SVC, Random Forest y XGB.

¿Cómo evaluar cada modelo predictivo?

La métrica de evaluación de los modelos se ha logrado gracias a la muestra de prueba (la muestra de entrenamiento se utiliza para crear el modelo, y la muestra de prueba, para evaluar el modelo). A partir de la predicción de la clase (fraude o no fraude) de cada uno de los datos de la muestra de prueba, se evalúa el rendimiento de cada modelo mediante el cálculo de estas dos medidas:

• El porcentaje de fraude detectado.
• La probabilidad, en tanto por ciento, de que un dato detectado como fraude a partir del modelo sea realmente fraude.

La siguiente tabla muestra el valor de ambas medidas para cada uno de los modelos creados.

Porcentaje de fraude (%)Probabilidad de fraude (%)
Modelo A74,297,3
Modelo B79,694,3
Modelo C76,295,7

Tabla 1. Porcentaje de fraude detectado y probabilidad de ser fraude para cada modelo.

En la tabla 1 se puede observar que el modelo A detecta menos porcentaje de fraude que cualquiera de los otros dos modelos, pero el fraude que detecta tiene mayor probabilidad de serlo realmente. El modelo B es el que más porcentaje de fraude detecta, pero con menos probabilidad de serlo realmente. Y el modelo C tiene ambas medidas en el intervalo creado por los valores del modelo A y B.

Es importante destacar que una mayor detección de fraude, pero con menos probabilidad de que lo sea, suele ser mejor valorada por las organizaciones. Se prefiere detectar más instancias fraudulentas, aunque habrá que estudiar un mayor número de casos que finalmente no sean fraude. Por ello, en nuestro proyecto se ha decidido utilizar el modelo B para la detección de fraude, ya que detecta más porcentaje de fraude que los otros modelos.

Extreme Gradient Boosting vs Modelo B

A continuación, se ha realizado una comparación entre el modelo B y el algoritmo de clasificación Extreme Gradient Boosting (EGB), y los datos obtenidos han sido los siguientes:

Porcentaje de fraude (%)Probabilidad de fraude (%)
Modelo B79,694,3
Extreme Gradient Boosting78,294,3

Tabla 2. Porcentaje de fraude detectado y probabilidad de ser fraude para el modelo B y el algoritmo Extreme Gradient Boosting.

La tabla 2 muestra que la probabilidad de que el fraude detectado sea fraude realmente es el mismo para los dos modelos, y que el porcentaje de fraude detectado por el modelo B es mayor que si se utiliza solo el algoritmo EGB.

Aunque son datos básicos, y no se pude llegar a una conclusión categórica, podemos concluir que el uso de modelos generados por varios algoritmos mejora el rendimiento de los modelos, haciéndolos más óptimos, aunque el mantenimiento del mismo sea más complejo.

Un post de Leire Posilio, Junior Data Scientist BOTECH

Leave Comment