RahemetGisho/fraud-detection-model
GitHub: RahemetGisho/fraud-detection-model
该项目构建了一套面向电商与银行信用卡交易的端到端欺诈检测系统,结合经典机器学习与集成方法,并通过 SHAP 实现模型可解释性。
Stars: 0 | Forks: 0
# 欺诈检测模型
## 概述
本项目是一个端到端的欺诈检测系统,涵盖了完整的机器学习生命周期——从原始数据到具有解释性的模型洞察。它结合了经典机器学习和集成方法,构建了一个稳健、高性能且可解释的欺诈检测解决方案。
该 pipeline 强调了现实世界中的约束条件,例如类别不平衡、特征工程以及用于业务决策的模型可解释性。
## 项目结构
```
fraud-detection-model/
│
├── data/
│ ├── raw/ # Original datasets
│ └── processed/ # Cleaned & feature-engineered data
│
├── notebooks/ # EDA, modeling, SHAP analysis
├── src/ # Modular ML pipeline code
├── models/ # Saved Logistic Regression & XGBoost models
├── tests/ # Unit tests for pipeline components
├── logs/ # Training & pipeline logs
├── scripts/ # Utility scripts
│
├── .github/workflows/ # CI pipeline
├── requirements.txt
└── README.md
```
## 已完成工作
### 1:数据分析与预处理
对数据集进行了清洗、探索,并将其转换为模型可用的格式。
- 处理了缺失值、重复项以及数据类型不一致的问题
- 针对欺诈模式和类别不平衡进行了探索性数据分析(EDA)
- 使用 IP 到国家的映射整合了地理位置数据
- 设计了行为特征(交易速度、基于时间的模式、用户活动信号)
- 应用了编码和特征缩放以备模型使用
- 使用仅在训练集上的重采样策略解决了类别不平衡问题
### 2:模型构建与评估
在不平衡分类设置下训练并评估了多个模型。
- 构建了 Logistic Regression 作为具有可解释性的基线模型
- 训练了 XGBoost 作为主要的集成模型,并进行了超参数调优
- 使用 ROC-AUC、AUC-PR、F1-score 和混淆矩阵进行评估
- 应用了分层 5 折交叉验证(stratified 5-fold cross-validation)以进行稳健的性能评估
- 基于 AUC-PR 和召回率性能的权衡选择了最佳模型
### 3:模型可解释性 (SHAP)
引入了模型可解释性,以了解欺诈预测的行为。
- 从集成模型中提取了内置的特征重要性
- 生成了 SHAP 摘要图用于全局特征影响分析
- 为单个预测构建了 SHAP 力图:
- True Positive(正确的欺诈检测)
- False Positive(误报)
- False Negative(漏报欺诈)
- 将 SHAP 解释与基于模型的特征重要性进行了比较
- 识别了影响欺诈预测的关键驱动因素
- 将洞察转化为可执行的商务建议
### 关键结果
- 最佳模型:XGBoost Classifier
- 使用 `scale_pos_weight` 进行了强大的不平衡处理
- 在两个数据集上均取得了高 ROC-AUC 和 AUC-PR
- 使用 SHAP 实现了可解释的欺诈检测 pipeline
### 成果
本项目提供了一个准备就绪且准确和具有解释性的欺诈检测系统,使利益相关者能够了解模型决策,并将洞察应用于现实世界的欺诈预防策略中。
标签:Apex, NoSQL, SHAP, XGBoost, 数据科学, 机器学习, 欺诈检测, 特征工程, 资源验证, 逆向工具, 风控系统