sandesh-x265/nepal-mobile-banking-fraud-detection-system
GitHub: sandesh-x265/nepal-mobile-banking-fraud-detection-system
尼泊尔移动银行欺诈检测系统,利用机器学习识别交易中的异常和欺诈行为。
Stars: 0 | Forks: 0
# 尼泊尔移动银行欺诈检测系统
针对尼泊尔金融科技背景下移动钱包欺诈检测的投资组合级机器学习与MLOps项目。
本仓库包含:
- 合成尼泊尔移动钱包交易生成
- 基于规则和CTGAN的数据增强
- 包含模型基准测试和阈值优化的端到端训练流程
- SHAP可解释性与业务可读的欺诈推理
- 支持单次和批量预测端点的FastAPI服务
- 用于交互式预测和分析的Streamlit仪表板
- 面向部署的Docker和CI就绪配置
## 功能特性
- 包含尼泊尔特定商家、城市、设备类型和渠道的合成交易数据集
- 涵盖速度异常、地理异常、金额突增和商家违规的欺诈标签
- 模型文件存储在`models/`下,阈值元数据位于`models/threshold.json`
- FastAPI端点:
- `GET /health`
- `POST /predict`
- `POST /batch_predict`
- Streamlit仪表板可通过`streamlit run streamlit_app/dashboard.py`访问
## 仓库结构
- `generate_data.py` — 生成并可选增强交易数据
- `train_pipeline.py` — 训练模型、评估性能并保存文件
- `explainability.py` — 构建SHAP可解释性摘要
- `fraud_api/app.py` — API服务实现
- `streamlit_app/dashboard.py` — 仪表板用户界面
- `config.yaml` / `params.yaml` — 配置与参数默认值
- `Dockerfile` / `docker-compose.yml` — 本地容器设置
- `tests/` — 数据生成、配置和API行为的单元测试
## 快速开始
1. 创建并激活虚拟环境:
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
macOS / Linux:
python -m venv .venv
source .venv/bin/activate
2. 安装依赖:
pip install -r requirements.txt
3. 生成合成数据:
python generate_data.py
4. 训练模型并保存文件:
python train_pipeline.py
5. 运行API服务:
uvicorn fraud_api.app:app --host 0.0.0.0 --port 8000
6. 运行Streamlit仪表板:
streamlit run streamlit_app/dashboard.py
## 运行测试
```
python -m pytest -q
```
## Docker 简介
使用Docker Compose运行应用:
```
docker compose up --build
```
## 注意事项
- 本项目专为演示和评估目的而设计。
- 数据集为合成数据,未经额外验证不得用于生产环境的欺诈检测。
- 使用`config.yaml`和`params.yaml`调整数据生成、模型训练和API行为。
标签:Apex, AV绕过, CTGAN, Docker, FastAPI, Kubernetes, MLOps, Python, SHAP, Streamlit, 交易数据, 仪表板, 合成数据, 安全防御评估, 实时API, 尼泊尔, 批量预测, 数据生成, 无后门, 机器学习, 模型训练, 欺诈分析, 欺诈检测, 深度学习, 特征工程, 移动银行, 端到端管道, 访问控制, 请求拦截, 逆向工具, 金融安全, 金融科技, 阈值优化