When I started working on credit card fraud detection, I assumed the goal was simple: catch as much fraud as possible. Then I realized a model could catch more fraudulent transactions by flagging more legitimate purchases too. If you’ve ever had your card declined for no apparent reason, you know why that matters.For this project, I compared four machine-learning models and two combinations of models called soft-voting ensembles. I tested them on a large synthetic transaction dataset, where fraudulent purchases made up less than 1% of the transactions. That imbalance made accuracy a pretty misleading measure: a model could label every purchase legitimate, look highly accurate, and catch no fraud at all.XGBoost performed best among the approaches I tested. But the most interesting part for me was deciding how to evaluate the models in the first place. Catching fraud, avoiding false alarms, and choosing when to flag a transaction all involve tradeoffs. A strong score on a dataset does not mean a model is ready to make decisions about real customers.You can read my full paper, published in the American Journal of Student Research, at the link below.

Building a Model to Detect Credit Card Fraud
When I started working on credit card fraud detection, I assumed the goal was simple: catch as much fraud as possible. Then I realized a model could catch more fraudulent transactions by flagging more legitimate purchases too. If you’ve ever had your card declined for no apparent reason, you know why that matters.For this project,…
1–2 minutes




Leave a comment