Détection de fraude par carte de crédit : un projet pratique

May 10 2023
Découvrir : Le Rapport sur les paiements dans le monde 2022 met en évidence la croissance rapide des transactions autres qu'en espèces et l'importance des chaînes de valeur des paiements B2B et des petites et moyennes entreprises. En outre, on s'attend à ce que dans les années à venir, il y ait une croissance constante des transactions autres qu'en espèces, comme indiqué ci-dessous. Bien que cela puisse sembler prometteur, les transactions frauduleuses ont également augmenté.

Découvrir:

  • Comprendre l'importance de la détection des fraudes par carte de crédit
  • Introduction à l'ensemble de données "Détection de fraude par carte de crédit" pour le projet
  • Construire des modèles de détection de fraude robustes
  • Évaluation des performances du modèle
  • Interprétation et analyse des résultats du modèle

Le Rapport sur les paiements dans le monde 2022 souligne la croissance rapide des transactions autres qu'en espèces et l'importance des chaînes de valeur des paiements B2B et des petites et moyennes entreprises. En outre, on s'attend à ce que dans les années à venir, il y ait une croissance constante des transactions non monétaires comme ci-dessous

Rapport sur les paiements dans le monde 2022

Bien que cela puisse sembler prometteur, les transactions frauduleuses ont également augmenté. Malgré la mise en œuvre des puces intelligentes EMV, une quantité considérable d'argent est toujours perdue en raison de la fraude par carte de crédit.

Pleins feux sur les prévisions de pertes liées à la fraude aux paiements par carte aux États-Unis en 2022

Comment pouvons-nous minimiser le risque? Bien qu'il existe diverses techniques pour diminuer les pertes et prévenir la fraude, je vais vous guider dans ma démarche et partager mes découvertes.

I. À propos de l'ensemble de données

L'ensemble de données « Credit Card Fraud Detection » sur Kaggle est un ensemble de données très déséquilibré qui contient les transactions effectuées par carte de crédit en septembre 2013 par des titulaires de carte européens. L'ensemble de données comprend un total de 284 807 transactions, dont seulement 492 sont frauduleuses, ce qui rend l'ensemble de données très déséquilibré. L'ensemble de données comprend 28 caractéristiques, qui sont des valeurs numériques obtenues par transformation PCA pour maintenir la confidentialité des informations sensibles. L'objectif de cet ensemble de données est de construire un modèle capable de détecter avec précision les transactions frauduleuses en temps réel afin de prévenir les activités frauduleuses et de réduire les pertes subies par les titulaires de carte et les banques. Cet ensemble de données a été largement utilisé dans la recherche sur l'apprentissage automatique pour évaluer différents algorithmes et techniques de classification pour traiter des ensembles de données déséquilibrés.

II. L'analyse exploratoire des données

Avec les données maintenant disponibles, vérifions les colonnes Time, Amountet .Class

Une fois

Figure 1 : Répartition du temps (secondes)

D'après le graphique, nous pouvons observer que la fonction Time a une distribution bimodale avec deux pics, indiquant qu'il y a deux périodes de la journée où les transactions par carte de crédit sont plus fréquentes. Le premier pic se produit à environ 50 000 secondes (environ 14 heures), tandis que le second pic se produit à environ 120 000 secondes (environ 33 heures). Cela suggère qu'il peut y avoir un modèle dans le calendrier des transactions par carte de crédit qui pourrait être utile pour la détection des fraudes.

2. Montant

Figure 2 : Répartition du montant

D'après le graphique, nous pouvons observer que la distribution de la fonction Montant est fortement asymétrique vers la droite, avec une longue queue vers la droite. Cela indique que la majorité des transactions ont des montants faibles, tandis que quelques transactions ont des montants extrêmement élevés. Par conséquent, cela suggère que l'ensemble de données contient des valeurs aberrantes en termes de montants de transaction. Par conséquent, lors de la création d'un modèle de détection de fraude, il peut être nécessaire de gérer les valeurs aberrantes dans la Amountfonctionnalité, par exemple, en utilisant une transformation logarithmique ou des méthodes statistiques robustes.

3. Classe (fraude | non-fraude)

Figure 3 : Transactions frauduleuses et non frauduleuses

D'après le graphique, nous pouvons observer que l'ensemble de données est très déséquilibré, avec une grande majorité de transactions non frauduleuses (classe 0) et un nombre relativement faible de transactions frauduleuses (classe 1). Cela indique que l'ensemble de données a un problème de déséquilibre de classe, ce qui peut affecter les performances d'un modèle formé sur cet ensemble de données. Il peut être nécessaire d'utiliser des techniques telles que le suréchantillonnage, le sous-échantillonnage ou la pondération de classe pour gérer le problème de déséquilibre de classe lors de la construction d'un modèle de détection de fraude.

III. Traitement de l'information

Pour s'assurer qu'il n'y avait pas de colinéarité significative dans les données, la carte thermique a été utilisée.

Figure 4 : Carte thermique de corrélation

À partir de la carte thermique, on peut observer qu'il n'y a pas de fortes corrélations positives ou négatives entre les paires de variables dans l'ensemble de données. Les corrélations les plus fortes se retrouvent :

  • Temps et V3, avec un coefficient de corrélation de -0,42
  • Montant et V2, avec un coefficient de corrélation de -0,53
  • Montant et V4, avec un coefficient de corrélation de 0,4.

IV. La modélisation

L'ensemble de données « Credit Card Fraud Detection » contient des transactions par carte de crédit étiquetées comme frauduleuses ou non. L'ensemble de données est déséquilibré, il a donc besoin d'un modèle capable de détecter avec précision les transactions frauduleuses sans signaler à tort les transactions non frauduleuses.

Pour résoudre les problèmes de classification, StandardScaler normalise les données en leur attribuant une moyenne de 0 et un écart type de 1, ce qui donne une distribution normale. Cette technique fonctionne bien lorsqu'il s'agit d'un large éventail de quantités et de temps. Pour mettre à l'échelle les données, l'ensemble d'apprentissage est utilisé pour initialiser l'ajustement, et les ensembles d'entraînement, de validation et de test sont ensuite mis à l'échelle avant de les exécuter dans les modèles.

L'ensemble de données a été divisé en 60 % pour la formation, 20 % pour la validation et 20 % pour les tests . Pour équilibrer l'ensemble de données déséquilibré, le sous-échantillonnage aléatoire a été utilisé pour faire correspondre le nombre de transactions frauduleuses. Des modèles de régression logistique et de forêt aléatoire ont été utilisés et de bons résultats ont été obtenus.

Les modèles couramment utilisés pour l'ensemble de données "Credit Card Fraud Detection" sont la régression logistique, Naive Bayes, Random Forest et Dummy Classifier.

  • La régression logistique est largement utilisée pour la détection des fraudes en raison de son interprétabilité et de sa capacité à gérer de grands ensembles de données.
  • Naive Bayes est couramment utilisé pour la détection des fraudes car il peut gérer des ensembles de données avec un grand nombre de fonctionnalités et peut fournir des prédictions rapides.
  • Random Forest est couramment utilisé pour la détection des fraudes car il peut gérer des ensembles de données complexes et est moins sujet au surajustement.
  • Le Dummy Classifier est un algorithme simple utilisé comme référence pour comparer les performances d'autres modèles.

V. Évaluation du modèle

Cette section traitera des mesures suivantes : exactitude, rappel, précision et score F1.

Figure 5 : Évaluer les modèles de ML
  • La précision est la fraction des prédictions correctes que fait le modèle. Cependant, cela peut être trompeur pour les ensembles de données déséquilibrés.
  • Le rappel nous indique quel pourcentage de transactions frauduleuses le modèle a correctement identifié. Dans le meilleur modèle, le rappel est de 89,9 %, ce qui est un bon point de départ.
  • La précision nous indique quel pourcentage de transactions frauduleuses prévues étaient réellement frauduleuses. Dans le meilleur modèle, 97,8 % de toutes les transactions frauduleuses ont été capturées, ce qui est une bonne mesure.
  • Le score F1 combine le rappel et la précision en une seule mesure sous forme de moyenne pondérée des deux, en tenant compte des faux positifs et des faux négatifs. C'est beaucoup plus efficace que la précision pour les classes déséquilibrées.
  • Figure 6 : Résultats de l'évaluation du modèle

1. Scores ROC

Le ROC mesure les performances de classification à différents seuils. Un score AUC (Area Under the Curve) plus élevé signifie que le modèle est meilleur pour prédire la fraude/non-fraude.

Courbe ROC : un puissant outil de détection des fraudes en marketing
Figure 7 : Courbes ROC pour les données hors échantillon

Le graphique montre les scores AUC pour la régression logistique et la forêt aléatoire. Les scores élevés sont bons. Les points sur la courbe représentent des seuils. Se déplacer vers la droite capture plus de vrais positifs mais aussi plus de faux positifs. Les seuils idéaux sont de 0,842 pour la régression logistique et de 0,421 pour la forêt aléatoire. À ces seuils, nous capturons le montant optimal de transactions frauduleuses tout en maintenant les faux positifs à un faible niveau. La matrice de confusion peut visualiser les effets de chaque modèle.

2. Matrice de confusion — Régression logistique

Figure 8 : Matrice de confusion — Régression logistique

Le modèle a capturé 88 des 98 transactions frauduleuses et marqué 1 678 transactions normales comme frauduleuses en utilisant un seuil de 0,842 dans l'ensemble de test hors échantillon. Ceci est similaire aux situations où la banque envoie un texte de confirmation après que la carte a été utilisée dans un autre État sans préavis.

3. Matrice de confusion — Forêt aléatoire

Figure xxx : Matrice de confusion — Forêt aléatoire

À un seuil de 0,421, le modèle de forêt aléatoire fonctionne de la même manière que le modèle de régression logistique. Il identifie correctement 88 transactions frauduleuses sur 98, mais il signale également une diminution des transactions normales comme frauduleuses par rapport au modèle de régression logistique. Dans l'ensemble, les deux modèles ont de bonnes performances.

Conclusion

Détecter les transactions frauduleuses par carte de crédit est crucial dans la société d'aujourd'hui. Les entreprises utilisent diverses méthodes pour capturer ces instances, et il est fascinant de voir comment elles gèrent cela. Trouver des anomalies est agréable, donc passer par ce projet était très amusant. J'espère que les résultats ont été bien expliqués, et merci d'avoir lu !

Les références

  • Projet Kaggle — ICI
  • Dépôt Github — ICI
  • Jeu de données Kaggle — ICI
  • EN SAVOIR PLUS —
    Apprentissage automatique reproductible pour la détection de la fraude par carte de crédit — Manuel pratique

Donnez à l'article 50 applaudissements

Suivez-moi

Lire plus d'articles sur Medium

Connectez-vous sur les réseaux sociaux Github | Linkedin | Kagglé

#CreditCardFraudDetection #DataScience #MachineLearning #FraudPrevention #DataAnalysis