Rahul9121/fintech-fraud-detection-monitoring-system
GitHub: Rahul9121/fintech-fraud-detection-monitoring-system
基于混合规则与ML评分的金融科技欺诈检测与交易监控系统,提供端到端流水线和可视化仪表盘。
Stars: 0 | Forks: 0
# 金融科技欺诈检测 + 交易监控系统
本项目使用**公开交易数据集**构建了一个金融科技风格的欺诈监控技术栈,包含:
- 基于规则的风险检测
- 有监督欺诈分类
- 无监督异常检测
- 混合风险评分 (规则 + ML + 异常)
- 基于 SQL 的监控指标
- 用于展示趋势、成功率和实时风险评分的 Streamlit 仪表盘
## 数据集选择
本实现通过公共镜像使用了**信用卡欺诈检测(欧洲卡片数据集)**:
- `https://storage.googleapis.com/download.tensorflow.org/data/creditcard.csv`
为何选择此数据集:
- 比 IEEE-CIS 数据集更小且更易于处理
- 欺诈用例的标准基准
- 包含明确的欺诈标签(`Class`)
## 技术栈
- Python (`pandas`, `scikit-learn`)
- SQL (`SQLite`)
- Streamlit
- Docker
- GitHub Actions
## 项目结构
- `src/fraud_monitoring/data.py`:数据集摄取 + 特征扩充
- `src/fraud_monitoring/models.py`:分类器和异常模型训练
- `src/fraud_monitoring/rules.py`:规则引擎
- `src/fraud_monitoring/hybrid.py`:混合风险评分
- `src/fraud_monitoring/database.py`:SQL 持久化
- `src/fraud_monitoring/dashboard_queries.py`:SQL 指标查询
- `src/fraud_monitoring/pipeline.py`:端到端构建 pipeline
- `app.py`:Streamlit 仪表盘
- `scripts/train_pipeline.py`:用于运行 pipeline 的 CLI
## 快速开始 (Windows PowerShell)
1. 安装依赖:
```
py -m pip install -r requirements.txt
```
2. 训练模型 + 构建监控 DB:
```
$env:PYTHONPATH = "src"
py scripts/train_pipeline.py --sample-size 12000
```
3. 启动仪表盘:
```
$env:PYTHONPATH = "src"
py -m streamlit run app.py
```
当相关文件不存在时,Streamlit 应用还支持一键引导启动。
## 仪表盘展示内容
- 随时间变化的欺诈趋势
- 交易成功率
- 风险级别分布(低 / 中 / 高)
- 渠道级别的成功率和风险统计数据
- 高风险预警表
- 实时交易欺诈评分表单
## 混合评分逻辑
最终风险评分是加权混合结果:
- `60%` ML 欺诈概率
- `20%` 异常风险
- `20%` 规则得分
风险级别:
- `low`(<45):批准
- `medium`(45-74.99):审核
- `high`(>=75):拦截
## Docker
构建:
```
docker build -t fintech-fraud-monitor .
```
运行:
```
docker run --rm -p 8501:8501 fintech-fraud-monitor
```
然后打开 `http://localhost:8501`。
## Streamlit Cloud 部署建议
1. 将此仓库推送到 GitHub。
2. 在 Streamlit Community Cloud 中,从你的仓库创建应用。
3. 使用:
- 分支:`main`
- 主文件路径:`app.py`
4. 首次运行:点击 **Build demo artifacts** 并以 `12000` 行开始(或使用 `8000` 行以更快完成设置)。
## Streamlit 故障排除(重要)
- 如果 Cloud 显示应用启动延迟,请将引导启动大小减小到 `8000`。
- 如果公共数据集镜像暂时不可用,应用现在会自动回退到合成数据集,以便部署仍能成功。
- 引导启动成功后,刷新一次页面以加载仪表盘的 KPI/图表。
## CI
GitHub Actions 工作流(`.github/workflows/ci.yml`)运行以下内容:
- 依赖安装
- Python 语法编译冒烟测试
- 单元测试(`pytest`)
标签:Apex, Docker, GitHub Actions, Kubernetes, pandas, Python, scikit-learn, SQL, SQLite, Streamlit, TCP/UDP协议, 云计算, 交易监控系统, 代码示例, 信用卡欺诈, 反欺诈, 安全防御评估, 实时交易监控, 数据分析, 无后门, 无监督异常检测, 有监督分类, 机器学习, 欺诈检测, 混合风险评分, 系统审计, 网络安全, 自动笔记, 规则引擎, 访问控制, 请求拦截, 逆向工具, 金融科技, 隐私保护, 风控系统