--- sdk: streamlit sdk_version: 1.51.0 license: apache-2.0 --- # πŸ’³ Credit Card Fraud Detection Dashboard [![Streamlit](https://img.shields.io/badge/Powered%20by-Streamlit-FF4B4B)](https://streamlit.io/)\ [![Data License: CC BY-NC 4.0](https://img.shields.io/badge/Data%20License-CC%20BY--NC%204.0-lightgrey.svg)](DATA_LICENSE)\ [![Made with ❀️ by Tarek Masryo](https://img.shields.io/badge/Made%20by-Tarek%20Masryo-blue)](https://github.com/tarekmasryo) --- ## πŸ“Œ Overview Interactive dashboard built with **Streamlit, Plotly, and Scikit-learn** for real-time **fraud detection analysis**. It demonstrates a **business-aware ML pipeline** on the classic **Credit Card Fraud Dataset** (284,807 transactions, only 492 frauds β‰ˆ 0.17%). - πŸ” Upload your own transaction CSV or use the built-in dataset - βš–οΈ Custom decision thresholds with cost-sensitive analysis - πŸ“Š Confusion matrix, ROC/PR curves, and cost–threshold visualization - πŸ’‘ Permutation feature importance for interpretability - 🧾 Segmented performance profiling (by amount, time of day, etc.) --- ## πŸ“Š Dashboard Preview ### Data Overview ![Data](assets/data_overview.png) ### Prediction Engine ![Prediction](assets/prediction_engine.png) ### Model Metrics ![Metrics](assets/model_metrics.png) ### Model Insights ![Insights](assets/model_insights.png) ### Data Quality & Segments ![Segments](assets/data_quality.png) --- ## πŸ”‘ Features - **Models**: RandomForest & XGBoost (calibrated) - **Presets**: Strict / Balanced / Lenient thresholds - **Threshold Finder**: auto-select by target Precision/Recall - **Cost Analysis**: business-aligned FP vs FN costs - **Visuals**: Confusion matrix, ROC, PR, cost vs threshold curves - **Insights**: Permutation importance, segmented KPIs - **Data Handling**: automatic schema validation + engineered features (`log(Amount)`, business hours, night proxy) --- ## πŸš€ Run Locally Clone the repo and install requirements: ```bash git clone https://github.com/tarekmasryo/fraud-detection-dashboard.git cd fraud-detection-dashboard pip install -r requirements.txt ``` Run the app: ```bash streamlit run app.py ``` --- ## ☁️ Deploy on Hugging Face Spaces This repository is ready to be deployed as a **Streamlit Space** on [Hugging Face](https://huggingface.co/spaces). Make sure to include the following files in your repo: - `app.py` β†’ main app file - `requirements.txt` β†’ Python dependencies - `artifacts/` β†’ trained model `.joblib` files and `thresholds.json` - `data/creditcard.csv` (optional, for default dataset) --- ## πŸ“œ License & Attribution - **Data** β†’ Original [Credit Card Fraud Dataset](https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud) Licensed under **CC BY-NC 4.0** β€” for research & educational use only. --- ## Related Repositories - πŸ” [Fraud Detection EDA + Baseline Models](https://github.com/tarekmasryo/creditcard-fraud-detection)