piyushranjanjsr62-svg/fraud-detection-ml-poc

GitHub: piyushranjanjsr62-svg/fraud-detection-ml-poc

基于机器学习的跨境支付欺诈检测 PoC,通过可解释模型替代规则系统以提升欺诈召回率。

Stars: 0 | Forks: 0

# 跨境交易风险评分引擎 — PoC **公司:** 一家跨境支付平台 **项目:** 基于 ML 的欺诈检测 PoC — 第一阶段 **数据集:** 合成数据 V3.1(50,800 笔交易 · 500 名客户 · 780 个账户) **状态:** 第 1 周 — EDA 已完成 ## 目标 构建一个可解释的 ML 模型,按欺诈风险对跨境支付交易进行评分。用该模型取代当前基于规则的系统,在保持 RBI/FEMA 合规性以及完全基于 SHAP 的可解释性的同时,实现 ≥15% 的召回率提升。 ## 模型范围 | 模型 | 角色 | |---|---| | 基于规则的基线 | 对照组 — ML 应用前的基准 | | Logistic Regression | 可解释的 ML 基线 | | XGBoost | 冠军候选 A | | LightGBM | 冠军候选 B | | Isolation Forest | 异常检测层 | ## 成功标准 | 指标 | 阈值 | |---|---| | AUC-PR | ≥ 0.72 | | 5% FPR 下的召回率 | ≥ 75% | | 精确率 | ≥ 65% | | F1 | ≥ 0.68 | | ML 相比规则基线的召回率提升 | ≥ 15% | ## 仓库结构 ``` ├── config/ Project configuration (paths, params, thresholds) ├── data/ │ ├── raw/ V3.1 synthetic dataset (not committed to git) │ ├── processed/ Cleaned data and feature matrix │ └── output/ Scored transactions, audit logs ├── notebooks/ One notebook per lifecycle stage ├── src/ │ ├── data/ Data loading and cleaning utilities │ ├── features/ Feature engineering functions │ ├── models/ Rule baseline and ML model wrappers │ ├── scoring/ Batch scoring pipeline │ └── explainability/ SHAP utilities ├── models/ Saved model artifacts (.pkl, .joblib) ├── reports/ Evaluation reports, governance tracker ├── docs/ Learning roadmap, architecture notes └── tests/ Unit tests for src/ modules ``` ## Notebook 顺序 | # | Notebook | 用途 | 状态 | |---|---|---|---| | 01 | `01_eda.ipynb` | 探索性数据分析 + 数据泄露关卡 | ✅ 已完成 | | 02 | `02_rule_baseline.ipynb` | 基于规则的对照组(ML 应用前必做) | ✅ 已完成 | | 03 | `03_data_cleaning.ipynb` | 缺失值处理,dtype 修复,去重 | ✅ 已完成 | | 04 | `04_feature_engineering.ipynb` | 跨 5 个类别构建 30+ 特征 | ✅ 已完成 | | 05 | `05_feature_validation.ipynb` | 方差、相关性、泄露、重要性检查 | ✅ 已完成 | | 06 | `06_train_test_split.ipynb` | 时间序列 70/20/10 拆分 + 分层抽样 | ✅ 已完成 | | 07 | `07_logistic_regression.ipynb` | 可解释的 ML 基线 | ✅ 已完成 | | 08 | `08_xgboost.ipynb` | 冠军候选 A | ❌ 未开始 | | 09 | `09_lightgbm.ipynb` | 冠军候选 B | ❌ 未开始 | | 10 | `10_isolation_forest.ipynb` | 异常检测层 | ❌ 未开始 | | 11 | `11_model_evaluation.ipynb` | 冠军模型选择 + 指标对比 | ❌ 未开始 | | 12 | `12_threshold_optimization.ipynb` | 精确率/召回率权衡 + 阈值调优 | ❌ 未开始 | | 13 | `13_shap_explainability.ipynb` | SHAP 值 + top-5 特征解释 | ❌ 未开始 | | 14 | `14_batch_scoring.ipynb` | 端到端评分 pipeline(CSV 输入 → CSV 输出) | ❌ 未开始 | | 15 | `15_final_demo.ipynb` | PoC 演示 notebook — 简洁,适合演示 | ❌ 未开始 | ## 合规说明 - 所有数据均为合成数据 — 无真实客户 PII - 特征设计必须排除事后列(fraud_type, sanction_list_source) - SHAP 输出格式:特征名称 · 特征值 · 贡献度得分(PoC 第一阶段不含原因代码叙述) - 审计日志:采用 JSONL 格式以符合 PMLA 合规要求 - RBI 规定:失败交易需在 T+1 内自动冲正 ## 环境 ``` python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt ```
标签:Apex, LightGBM, NoSQL, SHAP, XGBoost, 代码示例, 数据分析, 机器学习, 欺诈检测, 逆向工具, 金融风控, 风险评分