Surveillance des fraudes bancaires
Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 49 sur 51.
L’équipe cartes d’une coopérative de crédit ne peut vérifier manuellement que quelques paiements par jour. Le mois dernier, les fraudes se sont cachées dans les extrêmes :
Mais personne ne sait qu’il s’agit d’une fraude avant qu’un client ne se plaigne, des semaines plus tard. Deux détecteurs doivent donc repérer les paiements inhabituels sans aucune étiquette.
Les réclamations de cette semaine sont arrivées. Quel détecteur en aurait détecté le plus ?
Défi
DifficileLes 400 paiements de cette semaine se trouvent dans payments.csv ; le programme lit le nombre de paiements que l’équipe peut vérifier, budget.
- Normalise les quatre caractéristiques.
- Signale
budgetpaiements avec une forêt d’isolation (random_state=0) et avec un facteur de valeurs aberrantes locales (20 voisins). - Ce n’est qu’ensuite que tu ouvres
fraud: affiche combien de paiements chaque liste a détectés, et combien de paiements honnêtes l’équipe a dû vérifier. - Envoie à l’équipe la liste qui en a détecté le plus :
the isolation forest's listouthe local outlier factor's list, sinoneither list, they tie.
Pour le mois dernier et un budget de 10 :
Budget: 10 of 300 payments
Isolation forest: caught 6 of 12 frauds, 4 honest payments checked
Local outlier factor: caught 10 of 12 frauds, 0 honest payments checked
Send the team: the local outlier factor's listEssayez vous-même
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# Une ligne par paiement par carte ; fraud vaut 1 pour ceux que les clients ont signalés plusieurs semaines plus tard
payments = pd.read_csv("payments.csv")
features = ["amount_eur", "hour", "km_from_home", "minutes_since_last"]
# Nombre de paiements que l’équipe peut vérifier manuellement
budget = int(input())
# Écrivez votre code ci-dessous
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Apprentissage non supervisé
1Découvrir des groupes
Apprendre sans étiquettesMesurer la similaritéK-Means à la mainK-Means avec scikit-learnRécapitulatif : les membres de la salle de sport4Classification hiérarchique
Fusion étape par étapeModèles agglomératifsDendrogrammesRécapitulatif : races de chiens7L’ACP en pratique
Visualiser 64 dimensionsLes composantes comme motifsCompresser et reconstruireL’ACP avant un modèleRécapitulatif : scanner de visages10Projet : Explorateur de chiffres
Observer les chiffresRéduire avec la PCARegrouper les chiffresNommer les groupesRepérer les intrus2Choisir k
InertieLa méthode du coudeScores de silhouetteMettre à l’échelle avant le clusteringRécapitulatif : zones de livraison8Détection des anomalies
Repérer les éléments atypiquesForêt d’isolationFacteur local d’anomalieScores d’anomalieRécapitulatif : surveillance des serveurs11Défis finaux
Segments de coursesSurveillance des fraudes bancairesAmas d’étoilesDeux types de cellulesEntraînez-vous par vous-même : Compilateur Python en ligne