JoshuaLadios/Fraud_Detection_Pipeline
GitHub: JoshuaLadios/Fraud_Detection_Pipeline
该项目是一个基于Python的金融交易数据清洗与欺诈检测流水线,通过规则引擎对交易进行欺诈评分,并结合Docker容器化和Power BI实现可复现部署与可视化分析。
Stars: 0 | Forks: 0
# 金融交易 ETL 与欺诈检测流水线
## 项目概述
本项目是一个数据流水线,旨在处理和清理原始金融交易数据,检测潜在的欺诈交易,并生成干净的数据集以供进一步分析。该流水线支持 CSV 和 Excel 输入,执行全面的数据清理,应用基于规则的欺诈检测,并保存结果用于报告或可视化。
此外,该流水线集成了 Power BI 进行可视化,并使用 Docker 进行了完全容器化,以确保可复现性并便于部署。
### 功能
- 数据库设置(可选):在加载数据之前确保目标 SQL Server 数据库已存在。
- 数据清理与标准化:
- 修复不一致的日期格式
- 清理产品名称、支付方式和交易状态
- 确保数值列(数量、价格、total_sales)准确无误
- 欺诈检测规则:
- 可疑的产品名称
- 无效或过去的日期
- 批量数量交易
- 完成且价格为零的交易
- 未知的支付方式或交易状态
- 日志记录:记录所有流水线事件和错误,以便追溯
- 未知列处理:将未知或意外的列保存到单独的文件夹中以供审查
- 容器化:完全容器化的流水线,便于部署
- Power BI 可视化:预置的 Power BI 报告,用于分析销售趋势和欺诈检测
### 输出
运行流水线后,您将获得:
- Final_Files/Final_Cleaned_Fraud_Data_.csv → 带有欺诈分数的清理后数据
- Review_Files/Columns_To_Review_.csv → 供手动检查的未知列
- pipeline.log → 流水线执行的详细日志
### Power BI 可视化
Power BI 报告提供了对清理后的金融交易数据集的综合可视化,并突出了流水线检测到的潜在欺诈模式。关键洞察包括:
- 总销售额概览:按产品和时间聚合的销售额,展示了表现最佳的产品,如耳机、咖啡机和智能手机。
- 欺诈检测分析:可视化欺诈分数,并基于规则标准标记可疑交易,帮助识别诸如零价格完成销售或异常数量等模式。
- 支付方式分布:按支付类型(Paypal、Creditcard、Cash)划分交易明细,突出显示任何异常或意外的值。
- 交易状态趋势:随时间追踪状态(Completed、Pending、Failed),以监控操作流程和可能的瓶颈。
- 产品与客户洞察:检查产品受欢迎程度和客户交易行为,辅助进行定向营销或风险评估。
- 此报告使利益相关者能够快速解释复杂的交易数据,检测欺诈活动,并做出明智的业务决策。
### 技术栈
Python (pandas, numpy) - 数据处理与清理
SQLAlchemy - SQL Server 连接与数据库设置
Docker - 容器化
Power BI - 数据可视化
日志记录 - 流水线可追溯性
### 欺诈检测规则
规则 - 描述 - 权重
可疑产品名称 - 产品不在有效列表中 - 20
可疑日期 - 交易日期 < 2000-01-01 -25
批量数量 - 数量 > 500 - 5
完成且价格为零 - 价格 = 0 & 状态 = Completed - 20
未知支付方式 - 支付方式未知 - 15
未知状态 交易状态未知 15
欺诈分数 ≥ 20 → 标记为可能欺诈
标签:请求拦截, 逆向工具