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, 多线程, 机器学习, 欺诈检测, 测试用例, 访问控制, 逆向工具, 金融科技