Skip to content

Repository files navigation

💰 Anti-Money Laundering (AML) Analysis

Python Pandas NumPy XGBoost Scikit-Learn

A high-scale machine learning project focused on detecting suspicious financial transactions using advanced AML techniques.


📖 Overview

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.


🔧 Features

  • 📊 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

📊 Dataset

  • Name: SAML-D (Synthetic Anti-Money Laundering Dataset)
  • Size: ~9.5 million transactions
  • Features:
    • Transaction details
    • Payment types
    • Laundering indicators
    • Sender/Receiver locations

📂 Project Structure

.
├── 📁 data/                # Dataset files
├── 📁 notebooks/           # EDA & model training notebooks
├── 📁 models/              # Saved models (optional)
├── requirements.txt       # Dependencies
└── README.md              # Documentation

Installation

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

Usage

  1. Load the dataset:
    import pandas as pd
    df = pd.read_csv("SAML-D.csv")
  2. Run the Jupyter Notebook for analysis and training:
    jupyter notebook AML_Analysis.ipynb
  3. Train the XGBoost model:
    from xgboost import XGBClassifier
    model = XGBClassifier()
    model.fit(X_train, y_train)

Results

✅ Validation AUC: 0.827
✅ Test AUC: 0.812
✅ TPR (90% threshold): 0.900
✅ FPR: 0.580

Visualizations

  • Transaction Distributions 📊
  • Fraud Patterns by Payment Type 🔍
  • Suspicious Transaction Heatmaps 🔥

Contributing

Contributions are welcome! Feel free to submit pull requests or report issues.

Built with ❤️ to combat financial fraud using Data Science.

About

Machine learning-based fraud detection using XGBoost on the SAML-D dataset with EDA, preprocessing, and model evaluation to identify suspicious transactions.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages