kuongsivhoung-alt/Transaction-fraud-detection-data-engineering-

GitHub: kuongsivhoung-alt/Transaction-fraud-detection-data-engineering-

基于 Lambda 架构的实时金融欺诈检测数据管道,融合 Random Forest 模型与 PySpark 流推理,解决高频交易场景下批量训练与实时预测的工程衔接问题。

Stars: 0 | Forks: 0

# 实时金融欺诈检测与智能风控系统 一个端到端的数据工程 pipeline,旨在弥合历史批量训练与实时流推理之间的差距,由 Random Forest 和 AWS 提供支持。 ## 项目亮点 - **工程架构**:实现了 **Lambda Architecture**,将离线模型训练与实时流推理分离。 - **数据 Pipeline**:构建了一个自动化、可用于生产环境的 pipeline: `Python Simulator` → `AWS RDS (SQL Server)` → `PySpark Inference Engine` → `Tableau Live Dashboard`。 - **工程优化**: - **性能**:使用 JDBC `WITH (NOLOCK)` 优化了数据提取,消除了数据库锁竞争,确保了亚秒级的推理延迟。 - **可扩展性**:配置了 PySpark **micro-batching** 来处理高速交易流,同时保护本地内存资源。 - **ML 模型**:利用 **Random Forest** 进行高精度的欺诈分类,并针对金融数据集中固有的极端类别不平衡进行了专门优化。 ## 系统架构 - **系统图:** https://drive.google.com/file/d/1yJDWJ__X1mAq2eWVvyUucI2CeNXXsL4-/view?usp=sharing - **Tableau 仪表板:** - **仪表板文件:** prediction.twb photo_2026-06-25 13 28 44 ## 技术栈 - **语言**:Python, SQL, PySpark - **大数据与处理**:Apache Spark (Micro-batching) - **数据库**:AWS RDS (Microsoft SQL Server) - **可视化**:Tableau Desktop (Live Mode) - **建模**:Random Forest (scikit-learn, imblearn) ## 关键技术挑战 1. **数据库瓶颈**:模拟器产生的高频 INSERT 导致 PySpark 推理引擎出现持续死锁。 - *解决方案*:在 JDBC 查询中应用 `WITH (NOLOCK)`,允许“脏读”以在不中断提取流的情况下保持高吞吐量的数据读取。 2. **内存管理**:使用 SMOTE 过采样处理数百万笔交易存在内存溢出的风险。 - *解决方案*:实施了严格的预处理 pipeline(行过滤 -> 数据拆分 -> SMOTE),以确保训练效率并严格防止 **Data Leakage**。 ## 如何运行 1. **数据库设置**:在您的 AWS RDS 实例中执行提供的 SQL 脚本,以初始化 `dbo.live_transactions` 和 `dbo.fraud_predictions`。 2. **启动模拟器**:运行 `stream_simulator.ipynb` 以启动交易流模拟。 3. **运行推理引擎**:执行 `prediction.ipynb` 以开始实时欺诈预测和数据库回写。 4. **可视化**:在 **Live Mode** 下打开 Tableau 仪表板以实时监控欺诈趋势。
标签:Apex, AWS, DPI, 多线程, 数据工程, 机器学习, 欺诈检测, 流处理, 逆向工具, 金融风控