someshvermagithub/credit-card-fraud-detection-ml-pipeline
GitHub: someshvermagithub/credit-card-fraud-detection-ml-pipeline
端到端信用卡欺诈检测机器学习流水线,解决高度不平衡交易数据上的欺诈识别与模型可解释性问题。
Stars: 0 | Forks: 0
# 💳 信用卡欺诈检测 — 端到端 ML Pipeline










## 📌 概述
本项目展示了一个使用机器学习和可解释 AI 技术构建的**生产级信用卡欺诈检测系统**。
该 notebook 包含:
- 📊 高级探索性数据分析 (EDA)
- 🛠️ 特征工程
- ⚖️ 不平衡学习处理 (SMOTE + 类别权重)
- 🤖 多种 ML 模型基准测试
- 📈 阈值优化
- 🔍 SHAP 可解释性
- 💼 业务影响分析
## 🚀 功能
### ✅ 探索性数据分析
- 欺诈分布分析
- 交易金额分析
- 时间维度的欺诈模式分析
- 相关性热力图
- 成对关系图
- PCA 特征行为可视化
### ✅ 特征工程
- 周期性小时编码
- 对数金额转换
- Z-score 归一化
- 交互特征
- 统计聚合特征
### ✅ 不平衡学习
- SMOTE 过采样
- `class_weight='balanced'`
- 用于 boosting 模型的 `scale_pos_weight`
### ✅ 机器学习模型
- Logistic Regression
- Random Forest
- XGBoost
- LightGBM
- XGBoost + SMOTE
### ✅ 可解释 AI
- SHAP 特征重要性
- SHAP 依赖图
- SHAP 瀑布图可视化
### ✅ 业务分析
- 欺诈挽损估算
- 误报调查成本
- 基于阈值的节省优化
- 风险等级分类
# 📂 数据集
使用的数据集:
[Kaggle — 信用卡欺诈检测](https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud)
- 284,807 笔交易
- 492 起欺诈案例
- 极度不平衡的数据集(0.17% 的欺诈率)
# 🧠 技术栈
## 语言
- Python
## 库
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Scikit-learn
- XGBoost
- LightGBM
- SHAP
- Imbalanced-learn
- Joblib
# 📊 项目工作流
```
Data Collection
↓
Data Cleaning
↓
EDA & Visualization
↓
Feature Engineering
↓
Train/Test Split
↓
Scaling + SMOTE
↓
Model Training
↓
Evaluation
↓
Threshold Optimization
↓
SHAP Explainability
↓
Business Impact Analysis
```
# 📈 评估指标
由于欺诈检测具有高度的不平衡性,因此优先考虑以下指标:
- Average Precision (AUPRC)
- ROC-AUC
- F1 Score
- Precision
- Recall
# 🏆 关键洞察
- 欺诈交易极其罕见(0.17%)
- 夜间交易具有更高的欺诈概率
- 欺诈者经常使用中等金额进行交易
- PCA 特征 V14、V17、V12、V10 具有高度区分度
- 阈值调优能显著提升欺诈检测的性能
# 📷 可视化
该 notebook 生成了:
- 类别分布图
- 金额分布分析
- 时间维度欺诈分析
- 相关性热力图
- 成对关系图
- 精确率-召回率曲线
- ROC 曲线
- SHAP 可解释性图表
- 业务影响仪表板
# ⚙️ 安装说明
## 克隆仓库
```
git clone https://github.com/someshvermagithub/credit-card-fraud-detection-ml-pipeline.git
cd credit-card-fraud-detection-ml-pipeline
```
## 安装依赖
```
pip install -r requirements.txt
```
# ▶️ 运行 Notebook
```
jupyter notebook
```
打开:
```
Credit_Card_Fraud_Detection_Somesh_Verma.ipynb
```
# 📁 项目结构
```
credit-card-fraud-detection-ml-pipeline/
│
├── Credit_Card_Fraud_Detection_Somesh_Verma.ipynb
├── creditcard.csv
├── best_fraud_model.pkl
├── fraud_scaler.pkl
├── flagged_transactions.csv
├── requirements.txt
├── README.md
│
├── visualizations/
│ ├── viz_01_class_distribution.png
│ ├── viz_02_amount_analysis.png
│ ├── viz_03_temporal_analysis.png
│ ├── viz_04_feature_analysis.png
│ ├── viz_05_correlation.png
│ ├── viz_06_pairplot.png
│ ├── viz_07_model_evaluation.png
│ ├── viz_08_threshold_tuning.png
│ ├── viz_09_shap_analysis.png
│ ├── viz_10_shap_waterfall.png
│ └── viz_11_business_impact.png
```
# 📌 未来改进
- 实时欺诈检测 API
- Streamlit 仪表板部署
- 深度学习模型(Autoencoders、LSTMs)
- 针对实时交易流的在线学习
- Docker 容器化
- 云端部署(AWS/GCP/Azure)
# 👨💻 作者
## Somesh Verma
- 机器学习与数据科学爱好者
- 热衷于可解释 AI、欺诈检测和智能系统
# ⭐ 如果您喜欢这个项目
请在 GitHub 上给这个仓库点个 ⭐!
标签:Apex, LightGBM, XGBoost, 数据科学, 机器学习, 模型可解释性, 欺诈检测, 资源验证, 逆向工具