Extreme Gradient Boosting

Extreme Gradient Boosting

La analítica predictiva proporciona mecanismos para estimar aquellos datos que son inciertos y que requieren de un proceso costoso para su obtención. Las organizaciones recurren a esta herramienta para ayudar a resolver problemas difíciles, y entre sus usos más comunes se encuentra la detección de fraude, una problemática que aumenta cada día.

La analítica predictiva implica la aplicación de técnicas de análisis estadístico y algoritmos de aprendizaje automático a conjuntos de datos. También nos sirve para crear modelos de análisis predictivos que nos ayuden a calcular la probabilidad de que ocurra un evento particular.

En este estudio analítico se utilizan modelos de clasificación binaria, los cuales son capaces de predecir a cuál de las dos categorías, fraude o no fraude, va a pertenecer una nueva instancia.

A lo largo de estos últimos años se han desarrollado diferentes algoritmos de aprendizaje automático de clasificación: Decision Tree, Logistic Regression y K Nearest Neighbors son solo algunos que se utilizan para la detección de todo tipo de fraudes.

¿Cómo se evalúan los modelos predictivos?

La métrica de evaluación de los modelos predictivos se realiza mediante la medida de su rendimiento. Se lleva a cabo una división de los datos, creando un primer conjunto, que lo utilizaremos para el entrenamiento del modelo, y un segundo conjunto, para la evaluación del modelo. El primero será usado para implementar el modelo, y el segundo, como su nombre indica, se utilizará a modo de testeo para realizar pruebas.

Una vez realizado el modelo se procede a generar la matriz de confusión. Esta nos permite tabular los resultados que obtenemos al evaluar el grupo de prueba con el modelo generado. Lo que se intenta es tener una representación visual de los errores y de los aciertos de nuestro modelo: lo bueno o lo malo que es.

Tabla 1. Matriz de confusión para la detección de fraude.

La matriz de confusión posee dos pares de métricas, precisión y exactitud, y sensibilidad y especialidad. El primer par nos marca la distribución de los datos predichos y lo cerca o lejos que están de nuestros datos reales. El segundo par nos informa sobre la capacidad de nuestro modelo para distinguir los casos positivos, que hemos acertado, y los casos negativos, que hemos errado.

Si nos centramos en el primer par, podremos obtener un valor numérico que represente la medida de lo bueno que es nuestro modelo, es lo que se conoce como f-score.

El valor f-score

Uno de los usos que se da al valor f-score es la comparación de diferentes algoritmos de clasificación que utilizan el mismo conjunto de datos. Cuanto mayor sea este valor, mayor será el rendimiento del modelo y, por tanto, mayor capacidad predictiva tendrá el modelo.

Existen muchos estudios que comparan diferentes algoritmos de clasificación binaria a partir del rendimiento de cada modelo. El algoritmo Extreme Gradient Boosting (XGB) es reconocido por poseer una capacidad predictiva excepcional.

En ISOPH Cybersecurity hemos realizado un estudio sobre la detección de transacciones fraudulentas realizas con tarjetas de crédito. En este proyecto se han utilizado varios algoritmos predictivos para ver cómo son de precisos al detectar si una transacción es un pago normal o un fraude. En la tabla adjunta se muestran los valores f-score de siete diferentes algoritmos de Machine Learning utilizados en el proyecto. El valor de esta variable de la clase no fraude es muy próximo a 1, lo que le otorga un mayor valor predictivo en relación con el resto de algoritmos usados.

Tabla 2. Valor f-score de la clase fraude para cada uno de los algoritmos de Machine learning.

Como se puede observar en la tabla 2, el algoritmo Extreme Gradient Boosting es el que mayor valor f-score tiene y, por tanto, es el que mejor capacidad predictiva posee.

Podemos confrontar en una tabla dos datos interesantes: en una columna se representa el porcentaje de fraude detectado, cuántos casos de fraude han sido detectados, y en la columna adyacente anotamos el porcentaje de probabilidad de ser fraude, es decir con qué seguridad decimos que un caso es fraudulento o no.

Tabla 3. Porcentaje de fraude detectado y probabilidad de ser fraude de cada uno de los algoritmos.

En la tabla 3 se puede ver que los algoritmos que mayor porcentaje de fraude detectan son Random Forest y Extreme Gradient Boosting, pero este último detecta los fraudes con mayor probabilidad de ser realmente fraude que el primero. También se puede observar que el algoritmo Support Vector Machine detecta los casos de fraude con mayor probabilidad de que lo sean realmente que cualquier otro algoritmo.

Comparando el algoritmo Support Vector Machine con el algoritmo Extreme Gradient Boosting, cabe destacar que es de mayor importancia para las organizaciones la detección de fraude, teniendo en cuenta que la diferencia entre probabilidades no es prácticamente significativa.

Os seguiremos contando, estad atentos…