Saltar al contenido principal

Detección de fraudes con tarjetas de crédito mediante clasificación binaria y ML.NET

No es un hecho oculto que vivimos en la era digital, lo que significa que todo se hace online. Esto incluye la gestión del dinero y todo el ámbito del comercio electrónico. Por lo tanto, el fraude con tarjetas de crédito es a menudo un problema que termina en la pérdida de muchas cosas importantes. Este problema puede prevenirse utilizando algoritmos de aprendizaje automático. Existen varios métodos para resolver este problema, utilizando Redes Neuronales, Regresión Logística, Naive Bayes y Árboles de Decisión.

En este informe, me centraré en compararlos, pero me centraré en los métodos de clasificación binaria. Veremos la comparación en más de un conjunto de datos. También he intentado incluir ejemplos reales para mostrar la escalabilidad.

En una era donde todo sucede rápido, a veces nos olvidamos de comprobar la seguridad de nuestra tarjeta de crédito. Así, por comodidad guardamos la tarjeta de crédito en aplicaciones. Esto puede dar lugar a un fraude con tarjeta de crédito. Para resolver un posible fraude con tarjeta de crédito, podríamos utilizar la IA, pero hay muchas maneras de hacerlo. Podríamos basarnos en Redes Neuronales, Regresión Logística, Naive Bayes, Árboles de Decisión, Random Forest, y percepción Multicapa, pero nos centraremos en el rendimiento de los métodos de clasificación binaria, y lo compararemos con otros resultados.

El rendimiento es clave para cualquier software, ya que nuestro mundo va a toda velocidad. ¿Con qué frecuencia nos encontramos con este problema? Este es un problema desde que en 2020 la pandemia hizo que todo el mundo lo pasara mal, pero con el bloqueo mundial, la popularidad de las compras por Internet aumentó drásticamente, y esto significa que para finales de 2020 el fraude con tarjetas de crédito podría duplicarse, y en tiempos como estos, lo último que una persona querría es perder todo su dinero.

El problema ha despertado el interés de muchas mentes increíbles, y la solución a este problema sería detectar el fraude de tarjetas de crédito con árboles de decisión y máquinas de vectores soporte, como demostrarían Y.Sahin y E.Duman: «a medida que el tamaño de los conjuntos de datos de entrenamiento se hace mayor, el rendimiento de precisión de los modelos basados en SVM alcanza el rendimiento de los modelos basados en árboles de decisión». Pero aquí no estamos hablando de rendimiento. Esto ya era un problema hace tiempo. Por ejemplo, en 1994 Gosh, Reilly creó una red neuronal que detectaba y clasificaba una cuenta como fraude con un mayor porcentaje de éxito que los procedimientos basados en reglas. Otra idea surgió de Dhar y Buescher en 1996, que utilizaron datos históricos sobre transacciones con tarjetas de crédito para crear un modelo de puntuación del fraude y utilizaron un enfoque de agrupación en una red de funciones de base radial. Otros enfoques fueron el uso de algoritmos clásicos como el gradient boosting, los árboles de decisión y la regresión logística, todos ellos con resultados diferentes que se compararán en los capítulos siguientes.

Métodos de clasificación binaria

Como he dicho antes, hay muchas formas de resolver este problema, pero nos centraremos en las soluciones de clasificación binaria, ya que según el documento Credit Card Fraud Detection los mejores resultados en términos de precisión fueron los métodos de clasificación binaria. Por ejemplo, los bosques aleatorios tuvieron una precisión del 95,5%. En segundo lugar se situó el algoritmo de árbol de decisión, con un 94,3%, y la regresión lineal, con un 90%.

Dataset

El conjunto de datos que se utilizó es uno popular que se puede descargar de Kaggle y está hecho con los datos de titulares de tarjetas europeas del año 2013. Este conjunto de datos contiene aproximadamente 284.807 transacciones y solo 492 fueron etiquetadas como fraude. El conjunto de datos se transforma mediante el análisis de componentes principales. Y las variables V1….V28 representan características PCA, y el resto se consideran no PCA como tiempo, importe y clase. Dado que un aspecto crucial de los resultados experimentales es la proporción de distribución de las clases, los datos necesitarán cierto preprocesamiento.

Metodología

No todas las características son útiles y, si las mantenemos, puede producirse un sobreajuste, por lo que debemos seleccionar cuidadosamente las más importantes y eliminar las demás para reducir el tiempo de entrenamiento y mejorar la precisión. Para filtrar todas las características valiosas, se utilizó la herramienta de Will Koehrsen, que permitió reducir el número de características valiosas en un 95%. Así, sólo 27 características pasaron a la siguiente fase. Como los datos están muy desequilibrados, se utiliza un método de ajuste de la distribución de clases. Los más comunes son: sobremuestreo de la clase minoritaria, submuestreo de la clase mayoritaria o un híbrido entre ambos. Un método de sobremuestreo popular que se utilizó en ambos artículos fue SMOTE (Synthetic Minority Oversampling Technique) porque es muy eficaz cuando se trata de conjuntos de datos desequilibrados.

Métodos de clasificación binaria utilizados

Desde el principio del artículo, nuestro objetivo ha sido ver el rendimiento en diferentes métodos de clasificación binaria. Así que, en este artículo, que han construido y entrenado los modelos, y vamos a comparar los resultados y determinar cuál tiene mejores resultados en términos de precisión y exactitud. La regresión logística describe una relación entre predictores que pueden ser categóricos, binarios y continuos.

En función de algunos predictores, determinamos si ocurrirá algo y decidimos la probabilidad de pertenecer a cada categoría del conjunto de predictores dado. Naive Bayes es otro algoritmo de aprendizaje supervisado en el que los atributos no tienen dependencias y se basa en el teorema de Bayes. En el experimento se utilizó la distribución de Bernouli para detectar transacciones fraudulentas. Los árboles de decisión son otro algoritmo de aprendizaje supervisado en el que la estructura es similar a la de un árbol real, pero hay tres tipos de nodos: nodo raíz, nodo intermedio y nodo hoja, el nodo terminal.

Así, basándose en un conjunto de factores, para que un árbol de decisión haga una clasificación correcta, comprobará un conjunto de condiciones en cada nivel, y navegará por el árbol de decisión hasta llegar a la conclusión. Una máquina de vectores soporte es un algoritmo de aprendizaje supervisado que se entrena en un conjunto de datos que ya están clasificados en las categorías correctas y luego intenta reconstruir el modelo inicial, además hace todo esto ordenando los datos. Los bosques aleatorios pueden utilizarse para la clasificación o la regresión, utilizando una colección de árboles de decisión para la clasificación, pero superándolos. El conjunto de datos se dividió en una proporción de 80:20, 80% para el entrenamiento y 20% para las pruebas.

Resultados experimentales

Como he dicho antes, nos centraremos en el rendimiento de los métodos de clasificación binaria y los compararemos en cuanto a exactitud y precisión. La suma total de las muestras es de 56962; de ese número, 98 son transacciones fraudulentas.

Regresión lineal

Precisión: 58.72%

Exactitud: 97.46%

Predicción de fraude: 1530

Fraude real: 98

Previsión como no fraude: 55432

No fraude real: 56864

Naïve Bayes

Precisión: 16.17%

Exactitud: 99.23%

Predicción de fraude: 501

Fraude real: 98

Previsión como no fraude: 56461

No fraude real: 56864

Random Forest

Precisión: 96.38%

Exactitud: 99.96%

Predicción de fraude: 83

Fraude real: 98

Previsión como no fraude: 56879

No fraude real: 56864

Decision Tree

Precisión: 98.14%

Exactitud: 97.08%

Support vector machine

Precisión: 98.31%

Exactitud: 97.18%

Como sugiere el artículo, los resultados demuestran que un enfoque clásico puede tener tanto éxito como las opciones más populares, como los algoritmos de aprendizaje profundo. Y esta idea está más detallada y respaldada por los artículos. «Las conclusiones de este estudio indican resultados prometedores con las técnicas de muestreo basadas en SMOTE. La mejor puntuación de recuerdo obtenida fue con la estrategia de muestreo SMOTE mediante el clasificador DRF con un 0,81”.

Conclusión

Como hemos visto, el problema del fraude crediticio representa una amenaza real. Por no hablar de que este año también hemos visto la introducción de aplicaciones que permiten pagar con NFC, lo que puede suponer un gran problema para una persona con conocimientos de clonación de tarjetas de crédito. Se han propuesto varias formas de combatir este problema. Además, es esencial estar al día con las tendencias tecnológicas para entender cómo la tecnología puede ayudar en la lucha contra el fraude crediticio.

Como hemos visto con los resultados experimentales, los algoritmos clásicos tienen tanto éxito como un método de aprendizaje profundo, pero solo si preprocesamos el conjunto de datos con la estrategia SMOTE. El mejor algoritmo de aprendizaje supervisado en términos de precisión fue Support vector machine con una precisión del 98,31% y en términos de precisión random forest con una precisión del 99,69%. Y la observación anterior «a medida que aumenta el tamaño de los conjuntos de datos de entrenamiento, el rendimiento de precisión de los modelos basados en SVM alcanza el rendimiento de los modelos basados en árboles de decisión”.

La idea de utilizar la clasificación binaria para resolver este problema también fue tomada prestada por Microsoft para desarrollar un modelo que puede ser entrenado y consumido como una API en ML.NET. El algoritmo que utilizaron fue su innovador FastTree (que es un árbol reforzado superoptimizado) y la clasificación binaria. Tengo la intención de analizar otros trabajos que resolvieron el problema exacto utilizando métodos de clasificación binaria, pero, para estar seguro, buscaré conjuntos de datos más actualizados que procedan de bancos reales de todo el mundo.

Autor
Eduard Melu
Software Development Engineer