Published November 25, 2024 | Version v1
Dataset Open

Graphe : Détection de fraude sur un produit de paiements fractionnés

Description

Le jeu de données présenté est issu du papier "Apprentissage machine appliqué à la détection de fraudes bancaires" de Facci Aurélien, Pinaud Bruno, Cavarroc Julie et Pidash Angelina.

Ce jeu de données est extrait d'un produit de paiements fractionnées en ligne proposé par BNP PARIBAS PERSONAL FINANCE (BNPP PF).

Les données sont anonymisées pour des raisons de confidentialité, et la population sélectionnée est volontairement modifiée afin de garantir que les données fournies ne soient pas strictement représentatives de l’activité de BNPP PF.

Le jeu de données représente un jeu de fraudes bancaires (classes déséquilibrées) qui peut être représenté sous la forme d'un graphe à l'aide des fichiers "donnees_sommets.csv" et "liens_sommets.csv". La partie "Ouverture des données", ci dessous fournit le code minimal afin d'ouvrir les données brutes et de les transformer en graphe.

Les autres fichiers permettent de reproduire le découpage des données présenté dans l'article pour les ensembles d'entraînements et la validation croisée, de tests et de hors-temps.

 

Ouverture des données :

# Import libraries
import polars as pl
import dgl
import torch

# Open csv
node_data = pl.read_csv('donnees_sommets.csv', separator = ';')
display(node_data.head())
link_nodes = pl.read_csv('liens_sommets.csv', separator = ';')
display(link_nodes.head())

# Create the links of the graph
g = dgl.graph((link_nodes.select(pl.col('SOURCE')).to_numpy().ravel(), link_nodes.select(pl.col('TARGET')).to_numpy().ravel()))

# add the data in the graph
g.ndata['NUMERO_COMMANDE'] = torch.tensor(node_data.select(pl.col('NUMERO_COMMANDE')).to_numpy().ravel())
g.ndata['PROPRIETES'] = torch.tensor(node_data.select(pl.col(['A', 'B', 'C', 'D', 'E', 'F', 'G'])).to_numpy())
g.ndata['INDICATEURS'] = torch.tensor(node_data.select(pl.col(['H', 'I', 'J', 'K', 'L'])).to_numpy())
g.ndata['CLASSE'] = torch.tensor(node_data.select(pl.col('CLASSE')).to_numpy().ravel())

 

1.       Structure du graphe :

Les fichiers ci-dessous permettront aux utilisateurs de reconstruire le graphe anonymisé.

  • Fichier "donnees_sommets.csv" : Ce document contient 14 colonnes avec le numéro du sommet et les données associées au graphe anonymisé.
  • Fichier "liens_sommets.csv" : Ce document indique les liens d’un sommet « SOURCE » vers un sommet « CIBLE » dans le graphe anonymisé.

2.       Echantillonnages :

Dans les modèles d’apprentissage, des échantillons d’entraînements, de tests et de hors-temps sont nécessaires afin d’évaluer les performances des modèles et d’éviter le surapprentissage.

  • (Entraînement) Fichiers "train_cv_GNN.csv" et "train_cv_ME.csv" : Ces documents permettent de recréer les découpages d’entraînements et des validations croisées appliqués sur les données afin d’entrainer l’approche présentée dans l’article associé à la publication de ce jeu de données.
  •  (Test) Fichiers "test_GNN.csv" et "test_ME.csv" : Ces documents permettent de recréer le découpage des ensembles tests afin de tester l’approche présentée dans l’article associé à la publication de ce jeu de données.
  • (Hors-temps) Fichier "observation_perf.csv" : Ce document contient les demandes financées permettant d’observer les performances de notre approche en comparaison de l’approche actuelle.

Pour plus d'information sur le jeu de données, se réferer au document "Fichier_complémentaire.pdf".

 

Files

donnees_sommets.csv

Files (63.8 MB)

Name Size Download all
md5:8d710302ef3d2793e43f0cc100f881bf
46.7 MB Preview Download
md5:5c6f11e893e866ef8178896f85d85a0a
137.0 kB Preview Download
md5:e727aca84224ad6a25014863506c4a3a
14.6 MB Preview Download
md5:1e1f0c2fffcc813c0ac85c6fab696e98
194.9 kB Preview Download
md5:48e0e7bb21fe5f651fd364b0d78aa4d4
175.0 kB Preview Download
md5:48de39aa1ea1c477873ee8e6cddd7adf
182.6 kB Preview Download
md5:1f6677ee5114611ce3cb2e5c6680ca9d
905.0 kB Preview Download
md5:1d1cd8a46521dffe0baa56657a9b98c3
946.5 kB Preview Download