johnesposito17/fraud-detection
GitHub: johnesposito17/fraud-detection
该项目是一个实时信用卡欺诈检测 pipeline,通过 SQL 特征工程、不平衡数据 ML 建模和成本加权阈值分析,帮助风控分析师识别和评估欺诈交易。
Stars: 0 | Forks: 0
# 实时信用卡欺诈检测系统
一个全栈欺诈分析 pipeline,旨在展示信用卡欺诈风险团队实际会使用的工具类型:基于 SQL 的行为特征工程、使用成本加权评估的不平衡数据 ML,以及带有实时阈值滑块的分析师仪表板。
**专为以下用途构建:** Capital One 数据分析师实习作品集
**数据集:** [Kaggle 信用卡欺诈检测](https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud) — 284,807 笔欧洲持卡人交易,0.172% 欺诈率
**技术栈:** Python · PostgreSQL · SQL · Streamlit
## 项目结构
```
fraud-detection/
├── data/
│ ├── raw/ # Raw Kaggle CSV (gitignored)
│ └── processed/ # Cleaned + feature-engineered data (gitignored)
├── notebooks/ # EDA and exploratory analysis
├── src/
│ ├── ingestion/ # Data loading and Postgres ingestion scripts
│ ├── features/ # Feature engineering pipeline
│ └── models/ # Model training, evaluation, experiment logging
├── sql/ # Analyst SQL query library (fraud patterns, model eval)
├── dashboard/ # Streamlit analyst dashboard
└── docs/ # EDA summary, methodology notes, NOTES.md
```
## 设置
### 前置条件
- Python 3.11+
- PostgreSQL 15+(本地或 Docker)
- Kaggle 账户(用于下载数据集)
### 安装依赖
```
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
### 配置数据库
```
cp .env.example .env
# 使用你的 Postgres 凭据编辑 .env
```
### 下载数据
```
# 需要使用你的 API key 配置 Kaggle CLI
kaggle datasets download -d mlg-ulb/creditcardfraud -p data/raw/ --unzip
```
## 快速开始
```
# 1. 将数据加载到 PostgreSQL
python src/ingestion/load_to_postgres.py
# 2. 运行特征工程 (SQL window functions)
python src/features/build_features.py
# 3. 训练和评估模型
python src/models/train.py
# 4. 启动 dashboard
streamlit run dashboard/app.py
```
## 方法论
*(待补充 — 阶段 7)*
## 关键发现
*(待 EDA 和建模后补充)*
## 业务影响
*(待补充 — 阶段 7)*
## 权衡与设计决策
有关记录在案的权衡,请参阅 [`docs/NOTES.md`](docs/NOTES.md),包括:
- 模型选择依据
- 不平衡数据处理方法
- 阈值选择和成本加权指标设计
标签:Apex, Kubernetes, PostgreSQL, Streamlit, 多线程, 机器学习, 欺诈检测, 测试用例, 访问控制, 逆向工具, 金融科技