Anti-Money Laundering with Graph Neural Networks

Capstone Project | TD Bank & Columbia University

We developed machine learning models to detect suspicious financial transactions for anti-money laundering (AML) efforts using a large, real-world-inspired financial dataset. Our team focused on both traditional feature-based models and advanced graph-based deep learning techniques to capture complex transaction behaviors across accounts.

Key Contributions:

  • Led 6-person team for development of a Graph Isomorphism Network (GINe) using PyTorch Geometric to learn representations from transaction graphs.

  • Engineered edge- and node-level features such as temporal gaps, port sequences, and node centrality to improve detection accuracy.

  • Built a scalable pipeline for data preprocessing, feature extraction, and model training.

  • Conducted ablation studies and implemented weighted loss functions to address class imbalance and improve precision-recall performance.

  • Benchmarked performance against a XGBoost classifier using tabular features and SHAP analysis for interpretability.

Tech Stack:
Python, PyTorch Geometric, XGBoost, CatBoost, SHAP, scikit-learn