Skip to content

Nikhil172913832/Real_Time_Bank_Fraud_Detection_System

Repository files navigation

Real-Time Fraud Detection System

Advanced fraud detection using state-of-the-art deep learning: Graph Neural Networks, Transformers, and adversarial training on IEEE-CIS dataset.

Features

Deep Learning Models

  • Graph Neural Network (GNN): Heterogeneous graph with attention for transaction networks
  • Temporal Transformer: Multi-head self-attention for sequential patterns
  • Hybrid Model: Combines GNN (structural) + Transformer (temporal)
  • Ensemble: XGBoost + Isolation Forest
  • Adversarial Training: Q-learning agent that adapts to evade detection

Advanced Metrics

  • AUPRC: Area under precision-recall curve (key metric for imbalanced data)
  • Precision@K / Recall@K: Operational metrics for top-K predictions
  • Cost-Sensitive: Penalizes false negatives 10x more than false positives
  • Focal Loss: Addresses class imbalance in training

Dataset

  • IEEE-CIS Fraud Detection (590K transactions)
  • Real-world fraud patterns
  • Temporal validation (no data leakage)

Quick Start

Prerequisites

pip install -r requirements.txt

Download Data

# Install Kaggle CLI
pip install kaggle

# Download IEEE-CIS dataset
kaggle competitions download -c ieee-fraud-detection -p data/raw/
cd data/raw && unzip ieee-fraud-detection.zip

Train Models

# Train base XGBoost model
python train.py

# Train ensemble model
python train_ensemble.py

# Train adversarial agent
python train_adversarial.py

# Train advanced deep learning models
python train_advanced.py --model gnn          # Graph Neural Network
python train_advanced.py --model transformer  # Temporal Transformer
python train_advanced.py --model hybrid       # GNN + Transformer

Evaluate

python evaluate.py

Architecture

Transaction Data
    ├─→ GNN (Graph Structure) ────────┐
    ├─→ Transformer (Temporal) ────────┼─→ Hybrid Fusion ─→ Prediction
    ├─→ XGBoost (Supervised) ──────────┤
    └─→ Isolation Forest (Anomaly) ────┘
         ↓
    Adversarial Agent (Q-Learning)
         ↓
    Adaptive Retraining

Key Differentiators

  1. Graph Neural Networks: Models transaction network with users, merchants, devices
  2. Temporal Transformers: Captures long-range sequential dependencies with attention
  3. Hybrid Architecture: Combines structural (GNN) and temporal (Transformer) patterns
  4. Advanced Metrics: AUPRC, Precision@K for imbalanced data
  5. Adversarial Training: Q-learning agent learns to evade detection
  6. No Data Leakage: Temporal validation and stateful feature engineering

Project Structure

.
├── src/
│   ├── data/              # IEEE-CIS data loading
│   ├── features/          # Stateful feature engineering
│   ├── models/            # All model implementations
│   │   ├── ensemble.py           # XGBoost + Isolation Forest
│   │   ├── gnn_fraud_detector.py # Graph Neural Network
│   │   ├── transformer_fraud_detector.py # Temporal Transformer
│   │   ├── hybrid_detector.py    # GNN + Transformer fusion
│   │   ├── advanced_metrics.py   # AUPRC, Precision@K, etc.
│   │   └── validation.py         # Temporal train/test split
│   ├── adversarial/       # Q-learning agent
│   └── monitoring/        # Drift detection
├── tests/
│   ├── unit/              # Unit tests (all models)
│   └── integration/       # End-to-end tests
├── train.py               # XGBoost training
├── train_ensemble.py      # Ensemble training
├── train_adversarial.py   # Adversarial training
├── train_advanced.py      # GNN/Transformer/Hybrid training
└── evaluate.py            # Unified evaluation (auto-detects advanced metrics)

Performance

Metrics on IEEE-CIS test set (temporal split):

Metric Value
ROC-AUC Run evaluate.py
Precision Run evaluate.py
Recall Run evaluate.py
F1-Score Run evaluate.py

Development

Run Tests

pytest tests/

Code Quality

black src/ tests/
flake8 src/ tests/

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages