Rilevamento di frodi con carte di credito: un progetto pratico
Scoprire:
- Comprensione dell'importanza del rilevamento delle frodi con carta di credito
- Introduzione al dataset “Credit Card Fraud Detection” per il progetto
- Creazione di robusti modelli di rilevamento delle frodi
- Valutazione delle prestazioni del modello
- Interpretazione e analisi dei risultati del modello
Il World Payment Report 2022 evidenzia la rapida crescita delle transazioni non in contanti e l'importanza delle catene del valore dei pagamenti B2B e delle piccole e medie imprese. Inoltre, si prevede che negli anni futuri ci sarà una crescita costante delle transazioni non in contanti come di seguito
Sebbene possa sembrare promettente, sono aumentate anche le transazioni fraudolente. Nonostante l'implementazione dei chip intelligenti EMV, una notevole quantità di denaro viene ancora persa a causa di frodi con carte di credito.
Come possiamo minimizzare il rischio? Sebbene esistano varie tecniche per ridurre le perdite e prevenire le frodi, ti guiderò attraverso il mio approccio e condividerò le mie scoperte.
I. Informazioni sul set di dati
Il set di dati " Credit Card Fraud Detection " su Kaggle è un set di dati altamente squilibrato che contiene transazioni effettuate con carte di credito nel settembre 2013 da titolari di carte europei. Il set di dati include un totale di 284.807 transazioni, di cui solo 492 sono fraudolente, rendendo il set di dati fortemente squilibrato. Il set di dati include 28 caratteristiche, che sono valori numerici ottenuti dalla trasformazione PCA per mantenere la riservatezza delle informazioni sensibili. Lo scopo di questo set di dati è costruire un modello in grado di rilevare con precisione le transazioni fraudolente in tempo reale per prevenire attività fraudolente e ridurre le perdite subite dai titolari delle carte e dalle banche. Questo set di dati è stato ampiamente utilizzato nella ricerca sull'apprendimento automatico per valutare diversi algoritmi e tecniche di classificazione per gestire set di dati sbilanciati.
II. Analisi esplorativa dei dati
Con i dati ora disponibili, controlliamo le colonne Time
, Amount
e Class
.
1 volta
Dal grafico si può osservare che la funzione Time ha una distribuzione bimodale con due picchi, indicando che ci sono due periodi della giornata in cui le transazioni con carta di credito sono più frequenti. Il primo picco si verifica a circa 50.000 secondi (circa 14 ore), mentre il secondo picco si verifica a circa 120.000 secondi (circa 33 ore). Ciò suggerisce che potrebbe esserci uno schema nei tempi delle transazioni con carta di credito che potrebbe essere utile per il rilevamento delle frodi.
2. Importo
Dalla trama, possiamo osservare che la distribuzione della funzione Amount è molto sbilanciata a destra, con una lunga coda a destra. Ciò indica che la maggior parte delle transazioni ha importi bassi, mentre alcune transazioni hanno importi estremamente elevati. Di conseguenza, ciò suggerisce che il set di dati contiene alcuni valori anomali in termini di importi delle transazioni. Pertanto, durante la creazione di un modello per il rilevamento delle frodi, potrebbe essere necessario gestire i valori anomali nella Amount
funzionalità, ad esempio utilizzando una trasformazione del registro o metodi statistici affidabili.
3. Classe (frode | non frode)
Dal grafico, possiamo osservare che il set di dati è fortemente sbilanciato, con la stragrande maggioranza delle transazioni non fraudolente (classe 0) e un numero relativamente piccolo di transazioni fraudolente (classe 1). Ciò indica che il set di dati presenta un problema di squilibrio di classe, che può influire sulle prestazioni di un modello addestrato su questo set di dati. Potrebbe essere necessario utilizzare tecniche come il sovracampionamento, il sottocampionamento o la ponderazione delle classi per gestire il problema dello squilibrio delle classi durante la creazione di un modello per il rilevamento delle frodi.
III. Elaborazione dati
Per garantire che non ci fosse alcuna collinearità significativa nei dati, è stata utilizzata la heatmap.
Dalla heatmap si può osservare che non ci sono forti correlazioni positive o negative tra nessuna coppia di variabili nel set di dati. Le correlazioni più forti si trovano:
- Tempo e V3, con un coefficiente di correlazione di -0,42
- Importo e V2, con un coefficiente di correlazione di -0,53
- Importo e V4, con un coefficiente di correlazione di 0,4.
IV. Modellazione
Il set di dati " Credit Card Fraud Detection " ha transazioni con carta di credito etichettate come fraudolente o meno. Il set di dati è squilibrato, quindi necessita di un modello in grado di rilevare con precisione le transazioni fraudolente senza contrassegnare erroneamente le transazioni non fraudolente.
Per aiutare con i problemi di classificazione, StandardScaler standardizza i dati assegnandogli una media di 0 e una deviazione standard di 1, che si traduce in una distribuzione normale. Questa tecnica funziona bene quando si ha a che fare con una vasta gamma di quantità e tempi. Per ridimensionare i dati, il set di addestramento viene utilizzato per inizializzare l'adattamento e i set di addestramento, convalida e test vengono quindi ridimensionati prima di eseguirli nei modelli.
Il set di dati è stato suddiviso in 60% per la formazione, 20% per la convalida e 20% per i test . Per bilanciare il set di dati sbilanciato, è stato utilizzato il Random Undersampling per abbinare il numero di transazioni fraudolente. Sono stati utilizzati i modelli Logistic Regression e Random Forest e sono stati prodotti buoni risultati.
I modelli comunemente utilizzati per il set di dati "Credit Card Fraud Detection" sono Logistic Regression, Naive Bayes, Random Forest e Dummy Classifier.
- La regressione logistica è ampiamente utilizzata per il rilevamento delle frodi grazie alla sua interpretabilità e capacità di gestire set di dati di grandi dimensioni.
- Naive Bayes è comunemente utilizzato per il rilevamento delle frodi perché è in grado di gestire set di dati con un gran numero di funzionalità e può fornire previsioni rapide.
- Random Forest è comunemente utilizzato per il rilevamento delle frodi perché è in grado di gestire set di dati complessi ed è meno incline all'overfitting.
- Il Dummy Classifier è un semplice algoritmo utilizzato come benchmark per confrontare le prestazioni di altri modelli.
V. Valutazione del modello
Questa sezione discuterà le seguenti metriche: accuratezza, richiamo, precisione e punteggio F1.
- L'accuratezza è la frazione delle previsioni corrette effettuate dal modello. Tuttavia, può essere fuorviante per set di dati non bilanciati.
- Recall ci dice quale percentuale di transazioni fraudolente il modello ha identificato correttamente. Nel modello migliore, il richiamo è dell'89,9%, che è un buon punto di partenza.
- La precisione ci dice quale percentuale di transazioni fraudolente previste era effettivamente fraudolenta. Nel modello migliore, è stato catturato il 97,8% di tutte le transazioni fraudolente, che è una buona metrica.
- Il punteggio F1 combina Recall e Precision in un'unica metrica come media ponderata dei due, prendendo in considerazione falsi positivi e falsi negativi. È molto più efficace della precisione per le classi sbilanciate.
1. Punteggi ROC
Il ROC misura le prestazioni di classificazione a diverse soglie. Un punteggio AUC (Area Under the Curve) più elevato indica che il modello è più efficace nel prevedere frodi/non frodi.
Curva ROC: un potente strumento per il rilevamento delle frodi nel marketingIl grafico mostra i punteggi AUC per Regressione logistica e Foresta casuale. I punteggi alti sono buoni. I punti sulla curva rappresentano le soglie. Spostandosi a destra si catturano più Veri Positivi ma anche più Falsi Positivi. Le soglie ideali sono 0,842 per Logistic Regression e 0,421 per Random Forest. A queste soglie, acquisiamo la quantità ottimale di transazioni fraudolente mantenendo bassi i falsi positivi. La matrice di confusione può visualizzare gli effetti di ciascun modello.
2. Matrice di confusione — Regressione logistica
Il modello ha rilevato 88 transazioni fraudolente su 98 e ha contrassegnato 1.678 transazioni normali come fraudolente utilizzando una soglia di 0,842 nel set di test fuori campione. Ciò è simile alle situazioni in cui la banca invia un messaggio di conferma dopo che la carta è stata utilizzata in un altro stato senza preavviso.
3. Matrice di confusione — Foresta casuale
A una soglia di 0,421, il modello Random Forest si comporta in modo simile al modello Logistic Regression. Identifica correttamente 88 transazioni fraudolente su 98, ma contrassegna anche una diminuzione delle normali transazioni come fraudolente rispetto al modello di regressione logistica. Nel complesso, entrambi i modelli hanno buone prestazioni.
Conclusione
Rilevare transazioni fraudolente con carta di credito è fondamentale nella società odierna. Le aziende utilizzano vari metodi per catturare questi casi ed è affascinante vedere come affrontano questo problema. Trovare anomalie è divertente, quindi affrontare questo progetto è stato molto divertente. Spero che i risultati siano stati spiegati bene e grazie per aver letto!
Riferimenti
- Progetto Kaggle — QUI
- Github Repo — QUI
- Set di dati Kaggle — QUI
- LEGGI DI PIÙ —
Apprendimento automatico riproducibile per il rilevamento delle frodi con carta di credito — Manuale pratico
Dai all'articolo 50 applausi
Seguimi
Leggi altri articoli su Medium
Connettiti sui social media Github | Linkedin | Kaggle
#CreditCardFraudDetection #DataScience #MachineLearning #FraudPrevention #DataAnalysis