A machine learning model trained on the PaySim synthetic dataset to detect fraudulent transactions.
On data analysis, I found out that the PaySim synthetic dataset is highy un balanced (99.95:0.05 ratio), and impossible to train on to achieve the desired performance. So, I created a new balanced dataset through data sampling such that the final dataset has a 1:1 ratio of fraud and safe transactions. This ML model is trained on the new dataset that I created through random sampling, and I highly recommend anyone working with this dataset to do data sampling before training the ML model.
Check out the complete notebook (including data sampling) on kaggle here.
This is my first proper Machine Learning project, and is open to criticism. Cheers :)