Manasavijr/fraud-churn-research

GitHub: Manasavijr/fraud-churn-research

一个端到端机器学习研究平台,针对百万级数据集提供欺诈检测与客户流失预测的完整流水线,涵盖 DuckDB 特征工程、多模型对比及 FastAPI 可视化仪表盘。

Stars: 0 | Forks: 0

# 欺诈检测与流失预测 — ML 研究平台 针对超过100万行数据集的端到端机器学习研究。涵盖汽车嵌入式系统中的欺诈检测(Bosch 架构:ECU 遥测数据、CAN 总线异常),以及通过自编码器进行表征学习的客户流失预测。 **核心结果:**XGBoost + SMOTE 在欺诈率为 2% 的不平衡数据上实现了 87%+ 的 AUC;自编码器嵌入(16 维潜空间)相比于原生 XGBoost 提升了流失预测的 AUC。 ## 架构 ``` Data Generation (1M fraud + 500K churn) │ ▼ DuckDB SQL Feature Engineering (window functions, group aggregations, composite risk scores) │ ├──────────────────────────────────┐ ▼ ▼ Fraud Detection Pipeline Churn Prediction Pipeline - Logistic Regression - Logistic Regression - Random Forest - Random Forest - XGBoost + SMOTE - XGBoost - Isolation Forest (unsupervised) - XGBoost + AE Embeddings │ │ └────────────┬─────────────────────┘ ▼ Model Comparison Report (architecture tradeoffs, feature importance, findings) ``` ## 组件 | 模块 | 描述 | |---|---| | `data/generator.py` | 合成 ECU 遥测(欺诈)+ 客户行为(流失)数据生成 | | `sql/feature_engineering.py` | DuckDB SQL 特征工程 — 窗口函数、分组风险评分、复合标记 | | `fraud/detection/classifier.py` | 欺诈流水线:使用 SMOTE 的 LR + RF + XGBoost + 孤立森林 | | `churn/prediction/classifier.py` | 包含可选自编码器嵌入增强的流失预测流水线 | | `churn/representation/autoencoder.py` | PyTorch 表格自编码器 — 嵌入 + 重构误差异常评分 | | `reports/model_comparison.py` | 出版级 Markdown 研究报告,包含架构权衡分析 | | `api/main.py` | FastAPI 仪表盘 — 通过浏览器运行流水线、SQL 查询和报告 | ## 设置 ``` cd fraud-churn-research python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python -m uvicorn api.main:app --port 8085 ``` 打开 **http://localhost:8085** ## 运行测试 ``` pytest tests/ -v ``` ## 运行流水线 (CLI) ``` from data.generator import generate_fraud_dataset from sql.feature_engineering import SQLFeatureEngineer from fraud.detection.classifier import FraudDetectionPipeline df = generate_fraud_dataset(n_rows=1_000_000) eng = SQLFeatureEngineer() df_eng = eng.engineer_fraud_features(df) pipeline = FraudDetectionPipeline(use_smote=True) results = pipeline.run(df_eng) print(pipeline.summary_df()) ``` ## 研究发现总结 - SMOTE + XGBoost:针对不平衡欺诈检测(2% 欺诈率)的最佳 AUC-ROC - 自编码器重构误差:有效的无监督异常评分(无需标签) - SQL 复合风险评分在所有模型的特征重要性中均位列前五 - 表征学习(16维自编码器嵌入)相比于原始特征提升了流失预测的 AUC - 孤立森林可作为监督模型在零日异常检测中的有效补充
标签:Apex, AUC, BSD, CAN总线异常, DuckDB, ECU遥测, Isolation Forest, ML研究, PyTorch, SMOTE, SQL特征工程, XGBoost, 不平衡数据处理, 人工智能, 凭据扫描, 反欺诈, 大数据分析, 孤立森林, 客户流失预测, 数据分析平台, 数据挖掘, 数据生成, 数据科学, 无监督学习, 机器学习, 欺诈检测, 汽车嵌入式系统, 流失预测, 深度学习, 特征提取, 用户模式Hook绕过, 端到端机器学习, 自编码器, 表示学习, 资源验证, 逆向工具, 逻辑回归, 随机森林, 预测分析, 风控模型, 风控系统