A high-scale machine learning project focused on detecting suspicious financial transactions using advanced AML techniques.
This project delivers a comprehensive analysis of the SAML-D dataset, focusing on strengthening anti-money laundering (AML) strategies through EDA, preprocessing, and predictive modeling.
A high-performance XGBoost Classifier is implemented to identify suspicious financial behavior.
- 📊 Exploratory Data Analysis (EDA): Statistical insights, visualizations, anomaly detection
- 🧹 Data Preprocessing: Feature engineering, encoding, normalization, skewness correction
- 🤖 Machine Learning Model: XGBoost classifier for fraud detection
- 📏 Evaluation Metrics: ROC-AUC, confusion matrix, TPR/FPR analysis
- Name: SAML-D (Synthetic Anti-Money Laundering Dataset)
- Size: ~9.5 million transactions
- Features:
- Transaction details
- Payment types
- Laundering indicators
- Sender/Receiver locations
.
├── 📁 data/ # Dataset files
├── 📁 notebooks/ # EDA & model training notebooks
├── 📁 models/ # Saved models (optional)
├── requirements.txt # Dependencies
└── README.md # Documentation
Clone the repository and install the required dependencies:
git clone https://github.com/your-username/AML-Detection.git
cd AML-Detection
pip install -r requirements.txt- Load the dataset:
import pandas as pd df = pd.read_csv("SAML-D.csv")
- Run the Jupyter Notebook for analysis and training:
jupyter notebook AML_Analysis.ipynb
- Train the XGBoost model:
from xgboost import XGBClassifier model = XGBClassifier() model.fit(X_train, y_train)
✅ Validation AUC: 0.827
✅ Test AUC: 0.812
✅ TPR (90% threshold): 0.900
✅ FPR: 0.580
- Transaction Distributions 📊
- Fraud Patterns by Payment Type 🔍
- Suspicious Transaction Heatmaps 🔥
Contributions are welcome! Feel free to submit pull requests or report issues.
Built with ❤️ to combat financial fraud using Data Science.