Explorer la méthode traditionnelle pour détecter la fraude
Dans cet exercice, vous allez essayer de repérer des cas de fraude dans notre jeu de données de cartes bancaires à « l’ancienne ». Vous allez d’abord définir des seuils à partir de statistiques courantes pour séparer fraude et non‑fraude. Puis, vous appliquerez ces seuils à vos variables pour détecter la fraude. C’est une pratique répandue dans les équipes d’analytique de fraude.
Les seuils statistiques sont souvent déterminés en observant les valeurs de moyenne des observations. Commençons par vérifier si les moyennes des variables diffèrent entre les cas frauduleux et non frauduleux. Ensuite, vous utiliserez ces informations pour créer des seuils « de bon sens ». Enfin, vous évaluerez les performances de cette approche pour la détection de fraude.
pandas a déjà été importé sous l’alias pd.
Cet exercice fait partie du cours
Détection de fraude en Python
Instructions
- Utilisez
groupby()pour regrouperdfparClasset obtenir la moyenne des variables. - Créez la condition :
V1inférieur à -3 etV3inférieur à -5 pour marquer les cas suspects de fraude. - Comme mesure de performance, utilisez la fonction
crosstabdepandaspour comparer nos cas de fraude signalés aux cas de fraude réels.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Get the mean for each group
____.____(____).mean()
# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)
# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))