Detección de fraude con tarjetas de crédito: un proyecto práctico

May 10 2023
Discover: The World Payment Report 2022 destaca el rápido crecimiento de las transacciones que no son en efectivo y la importancia de las cadenas de valor de pagos B2B y las pequeñas y medianas empresas. Además, se espera que en los próximos años haya un crecimiento constante de las transacciones que no son en efectivo, como se muestra a continuación. Aunque parezca prometedor, las transacciones fraudulentas también han aumentado.

Descubrir:

  • Comprender la importancia de la detección de fraudes con tarjetas de crédito
  • Introducción al conjunto de datos de "Detección de fraude con tarjetas de crédito" para el proyecto
  • Construcción de modelos robustos de detección de fraude
  • Evaluación del rendimiento del modelo
  • Interpretación y análisis de los resultados del modelo

El Informe Mundial de Pagos 2022 destaca el rápido crecimiento de las transacciones que no son en efectivo y la importancia de las cadenas de valor de pagos B2B y las pequeñas y medianas empresas. Además, se espera que en los próximos años haya un crecimiento constante de las transacciones que no son en efectivo, como se muestra a continuación.

Informe Mundial de Pagos 2022

Aunque pueda parecer prometedor, las transacciones fraudulentas también han aumentado. A pesar de la implementación de chips inteligentes EMV, todavía se pierde una cantidad considerable de dinero debido al fraude con tarjetas de crédito.

Bajo la lupa: Pronóstico de pérdidas por fraude en pagos con tarjeta de EE. UU. para 2022

¿Cómo podemos minimizar el riesgo? Aunque existen varias técnicas para disminuir las pérdidas y prevenir el fraude, lo guiaré a través de mi enfoque y compartiré mis descubrimientos.

I. Sobre el conjunto de datos

El conjunto de datos " Detección de fraude con tarjetas de crédito " en Kaggle es un conjunto de datos muy desequilibrado que contiene transacciones realizadas con tarjetas de crédito en septiembre de 2013 por titulares de tarjetas europeos. El conjunto de datos incluye un total de 284 807 transacciones, de las cuales solo 492 son fraudulentas, lo que hace que el conjunto de datos esté muy desequilibrado. El conjunto de datos incluye 28 características, que son valores numéricos obtenidos por transformación PCA para mantener la confidencialidad de la información confidencial. El objetivo de este conjunto de datos es construir un modelo que pueda detectar con precisión transacciones fraudulentas en tiempo real para evitar actividades fraudulentas y reducir las pérdidas sufridas por los titulares de tarjetas y los bancos. Este conjunto de datos se ha utilizado ampliamente en la investigación de aprendizaje automático para evaluar diferentes algoritmos y técnicas de clasificación para tratar con conjuntos de datos desequilibrados.

II. Análisis exploratorio de datos

Con los datos ahora disponibles, hagamos algunas comprobaciones en las columnas Time, Amounty Class.

1 vez

Figura 1: Distribución del tiempo (segundos)

De la gráfica, podemos observar que la función Tiempo tiene una distribución bimodal con dos picos, lo que indica que hay dos períodos durante el día en que las transacciones con tarjeta de crédito son más frecuentes. El primer pico se produce alrededor de los 50 000 segundos (aproximadamente 14 horas), mientras que el segundo pico se produce alrededor de los 120 000 segundos (aproximadamente 33 horas). Esto sugiere que puede haber un patrón en el momento de las transacciones con tarjeta de crédito que podría ser útil para la detección de fraudes.

2. Importe

Figura 2: Distribución de la cantidad

En el gráfico, podemos observar que la distribución de la función Cantidad está muy sesgada hacia la derecha, con una cola larga hacia la derecha. Esto indica que la mayoría de las transacciones tienen montos bajos, mientras que algunas transacciones tienen montos extremadamente altos. Como resultado, esto sugiere que el conjunto de datos contiene algunos valores atípicos en términos de montos de transacciones. Por lo tanto, al construir un modelo para la detección de fraudes, puede ser necesario manejar valores atípicos en la Amountfunción, por ejemplo, mediante el uso de una transformación de registros o métodos estadísticos sólidos.

3. Clase (Fraude | No Fraude)

Figura 3: Transacciones Fraudulentas vs. No Fraudulentas

A partir de la gráfica, podemos observar que el conjunto de datos está muy desequilibrado, con una gran mayoría de transacciones no fraudulentas (clase 0) y una cantidad relativamente pequeña de transacciones fraudulentas (clase 1). Esto indica que el conjunto de datos tiene un problema de desequilibrio de clases, lo que puede afectar el rendimiento de un modelo entrenado en este conjunto de datos. Puede ser necesario utilizar técnicas como el sobremuestreo, el submuestreo o la ponderación de clases para manejar el problema del desequilibrio de clases al construir un modelo para la detección de fraudes.

tercero Procesamiento de datos

Para asegurarse de que no hubiera ninguna colinealidad significativa en los datos, se utilizó el mapa de calor.

Figura 4: Mapa de calor de correlación

Del mapa de calor, se puede observar que no hay fuertes correlaciones positivas o negativas entre ningún par de variables en el conjunto de datos. Las correlaciones más fuertes se encuentran:

  • Tiempo y V3, con un coeficiente de correlación de -0,42
  • Importe y V2, con un coeficiente de correlación de -0,53
  • Importe y V4, con un coeficiente de correlación de 0,4.

IV. Modelado

El conjunto de datos " Detección de fraude con tarjetas de crédito " tiene transacciones con tarjetas de crédito etiquetadas como fraudulentas o no. El conjunto de datos está desequilibrado, por lo que necesita un modelo que pueda detectar con precisión las transacciones fraudulentas sin marcar incorrectamente las transacciones no fraudulentas.

Para ayudar con los problemas de clasificación, StandardScaler estandariza los datos dándoles una media de 0 y una desviación estándar de 1, lo que da como resultado una distribución normal. Esta técnica funciona bien cuando se trata de una amplia gama de cantidades y tiempos. Para escalar los datos, el conjunto de entrenamiento se usa para inicializar el ajuste, y los conjuntos de entrenamiento, validación y prueba luego se escalan antes de ejecutarlos en los modelos.

El conjunto de datos se dividió en 60 % para entrenamiento, 20 % para validación y 20 % para prueba . Para equilibrar el conjunto de datos desequilibrado, se utilizó el submuestreo aleatorio para hacer coincidir el número de transacciones fraudulentas. Se utilizaron modelos de Regresión Logística y Random Forest, y se obtuvieron buenos resultados.

Los modelos comúnmente utilizados para el conjunto de datos de "Detección de fraude con tarjetas de crédito" son Regresión logística, Naive Bayes, Random Forest y Dummy Classifier.

  • La regresión logística se usa ampliamente para la detección de fraudes debido a su interpretabilidad y capacidad para manejar grandes conjuntos de datos.
  • Naive Bayes se usa comúnmente para la detección de fraudes porque puede manejar conjuntos de datos con una gran cantidad de funciones y puede proporcionar predicciones rápidas.
  • Random Forest se usa comúnmente para la detección de fraudes porque puede manejar conjuntos de datos complejos y es menos propenso al sobreajuste.
  • El Dummy Classifier es un algoritmo simple que se utiliza como punto de referencia para comparar el rendimiento de otros modelos.

V. Evaluación del Modelo

Esta sección discutirá las siguientes métricas: Exactitud, Recuperación, Precisión y Puntuación F1.

Figura 5: Evaluar modelos de ML
  • La precisión es la fracción de predicciones correctas que hace el modelo. Sin embargo, puede ser engañoso para conjuntos de datos desequilibrados.
  • Recall nos dice qué porcentaje de transacciones fraudulentas identificó correctamente el modelo. En el mejor modelo, la recuperación es del 89,9 %, lo que es un buen punto de partida.
  • La precisión nos dice qué porcentaje de las transacciones fraudulentas pronosticadas fueron realmente fraudulentas. En el mejor modelo, se capturó el 97,8% de todas las transacciones fraudulentas, lo cual es una buena métrica.
  • F1 Score combina la recuperación y la precisión en una métrica como un promedio ponderado de las dos, teniendo en cuenta los falsos positivos y los falsos negativos. Es mucho más efectivo que la precisión para las clases desequilibradas.
  • Figura 6: Resultados de la evaluación del modelo

1. Puntajes de la República de China

El ROC mide el desempeño de la clasificación en diferentes umbrales. Una puntuación AUC (área bajo la curva) más alta significa que el modelo es mejor para predecir fraude/no fraude.

Curva ROC: una poderosa herramienta para la detección de fraudes en marketing
Figura 7: Curvas ROC para datos fuera de la muestra

El gráfico muestra las puntuaciones de AUC para la regresión logística y el bosque aleatorio. Las puntuaciones altas son buenas. Los puntos de la curva representan umbrales. Mover a la derecha captura más Verdaderos Positivos pero también más Falsos Positivos. Los umbrales ideales son 0,842 para Logistic Regression y 0,421 para Random Forest. En estos umbrales, capturamos la cantidad óptima de transacciones fraudulentas mientras mantenemos bajos los falsos positivos. Confusion Matrix puede visualizar los efectos de cada modelo.

2. Matriz de confusión: regresión logística

Figura 8: Matriz de confusión — Regresión logística

El modelo capturó 88 de 98 transacciones fraudulentas y marcó 1678 transacciones normales como fraudulentas utilizando un umbral de 0,842 en el conjunto de prueba fuera de la muestra. Esto es similar a situaciones en las que el banco envía un mensaje de texto de confirmación después de que la tarjeta se usa en otro estado sin previo aviso.

3. Matriz de confusión: bosque aleatorio

Figura xxx: Matriz de confusión — Bosque aleatorio

Con un umbral de 0,421, el modelo Random Forest funciona de manera similar al modelo de regresión logística. Identifica correctamente 88 de 98 transacciones fraudulentas, pero también marca una disminución de las transacciones normales como fraudulentas en comparación con el modelo de regresión logística. En general, ambos modelos tienen un buen rendimiento.

Conclusión

La detección de transacciones fraudulentas con tarjetas de crédito es crucial en la sociedad actual. Las empresas utilizan varios métodos para capturar estas instancias, y es fascinante ver cómo lidian con esto. Encontrar anomalías es agradable, por lo que pasar por este proyecto fue muy divertido. Espero que los hallazgos hayan sido bien explicados, ¡y gracias por leer!

Referencias

  • Proyecto Kaggle — AQUÍ
  • Github Repo — AQUÍ
  • Conjunto de datos de Kaggle — AQUÍ
  • LEER MÁS —
    Aprendizaje automático reproducible para la detección de fraudes con tarjetas de crédito — Manual práctico

Dale al artículo 50 aplausos

Sígueme

Lee más artículos en Medium

Conéctate en las redes sociales Github | Linkedin | Kaggle

#Detección de fraudes con tarjetas de crédito #Ciencia de datos #Aprendizaje automático #Prevención de fraudes #Análisis de datos