--- title: fraud-pattern-detector emoji: 🕵️ colorFrom: red colorTo: yellow sdk: docker app_port: 7860 pinned: false --- ## Fraud Pattern Detector (XGBoost + Network Patterns) — FastAPI + Streamlit Fraud detection demo trained on Kaggle's **IEEE-CIS Fraud Detection** dataset. ### What you get - XGBoost baseline with compact feature engineering - Per-transaction explanations (SHAP-style drivers) - Lightweight transaction-network view (cluster patterns around shared identifiers) - FastAPI inference service (`/score`) - Streamlit UI with 2 tabs: - Single transaction scorer - Network visualization with flagged clusters - Docker image compatible with Hugging Face Spaces ### Local setup Requires Python **3.11+**. ```bash python3.11 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ### Download data (Kaggle) 1. Place your Kaggle credentials at `~/.kaggle/kaggle.json` (recommended), or ensure a `kaggle.json` exists in your workspace root. 2. Ensure you've accepted the competition rules on Kaggle. ```bash python -m scripts.download_data ``` ### Train (XGBoost baseline) ```bash python -m scripts.train_xgb --seed 42 --max_rows 200000 ``` ### Run locally Terminal 1: ```bash uvicorn app.api:app --host 0.0.0.0 --port 8000 ``` Terminal 2: ```bash streamlit run app/streamlit_app.py --server.port 7860 --server.address 0.0.0.0 ```