NotDizzyButFizzy/credit-card-fraud-detection
GitHub: NotDizzyButFizzy/credit-card-fraud-detection
一个基于 Python 的机器学习系统,用于识别信用卡交易中的欺诈行为。
Stars: 16 | Forks: 0
## 🛡️信用卡欺诈检测
本项目旨在构建一个**信用卡欺诈检测**系统,使用机器学习算法将交易分类为*欺诈*或*合法*。采用 Python 和行业标准库开发,重点关注高效的预处理、数据可视化和模型训练。
任何加入项目的人都应能理解数据管道、复现结果并修改模型架构以进行实验。
## 🧠使用技术
- **Python 3.11** – 编程语言
- **Pandas** – 数据分析与处理
- **NumPy** – 数学运算
- **Scikit-learn** – 机器学习模型训练与评估
- **Matplotlib / Seaborn** – 数据可视化
- **Jupyter Notebook** – 交互式开发与文档编写
## ⚙️功能特性
- 数据预处理管道(使用采样技术处理不平衡数据集)
- 探索性数据分析与可视化
- 使用逻辑回归、随机森林和决策树等算法进行模型训练
- 评估指标(准确率、精确率、召回率、F1 分数、ROC 曲线)
- 实时交易模拟(用于测试)
- 模块化结构,便于对不同机器学习模型进行实验
## ⌨️键盘快捷键(Jupyter)
适用于在笔记本环境中工作的用户:
| 快捷键 | 操作 |
|--------|------|
| **Shift + Enter** | 运行单元格 |
| **Ctrl + Enter** | 运行单元格但不跳转至下一个 |
| **A / B** | 在上方/下方添加单元格 |
| **M / Y** | 在 Markdown 与代码模式之间切换 |
| **Ctrl + S** | 保存检查点 |
这些快捷键有助于在分析代码时高效导航与记录。
## 🔍流程步骤
1. **数据收集:** 加载 Kaggle 信用卡欺诈数据集,包含匿名交易数据。
2. **数据清洗:** 检查缺失值、归一化特征,并分离合法与欺诈交易。
3. **探索性数据分析(EDA):** 使用 Seaborn/Matplotlib 可视化分布与相关性。
4. **模型训练:** 使用 Scikit-learn 构建多个机器学习模型,并调整超参数以提升准确率。
5. **模型评估:** 通过混淆矩阵、ROC 曲线和分类报告比较模型性能。
6. **部署阶段(可选):** 准备模型导出,以便与 Web 或云服务集成。
## 🧩所学内容
- 有效处理**不平衡数据集**,使用欠采样、过采样技术(SMOTE)。
- 理解**模型性能权衡**(精确率与召回率)在欺诈检测中的意义。
- 使用**可视化分析**探索特征关系与识别异常。
- 在 **Jupyter 工作流**中提升数据管道效率并实现可重复实验。
- 文档记录与模块化流程对团队扩展的重要性。
## 🚀未来改进
- 集成**深度学习模型**(如使用 TensorFlow 或 PyTorch 构建的神经网络)。
- 添加**Web 界面**,以动态可视化交易。
- 实现**CI/CD 工作流**,使用 GitHub Actions 或 AWS 进行模型再训练与部署。
- 增强**数据隐私**处理与加密工具。
- 添加 **Docker 支持**,为贡献者提供统一的环境配置。
## 🧭如何运行项目
### 1. 克隆仓库
```
git clone https://github.com/NotDizzyButFizzy/credit-card-fraud-detection.git
cd credit-card-fraud-detection
```
### 2. 创建虚拟环境
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 运行 Jupyter 笔记本
```
jupyter notebook
```
打开笔记本文件(`fraud_detection.ipynb`)并按顺序执行单元格。
### 5. 可选:运行脚本版本
```
python fraud_detector.py
```
## 👥贡献者
- [NotDizzyButFizzy](https://github.com/NotDizzyButFizzy) – 项目负责人 / 开发者
- 欢迎贡献与提出新功能创意!
标签:Apex, Decision Tree, EDA, F1分数, Logistic Regression, Matplotlib, NoSQL, NumPy, Python, Random Forest, ROC曲线, Scikit-learn, Seaborn, 不平衡数据处理, 交易模拟, 信用卡欺诈检测, 信用欺诈检测, 准确率, 反欺诈, 召回率, 可复现实验, 后端开发, 实时检测, 探索性数据分析, 数据清洗, 数据预处理, 无后门, 机器学习, 模块化架构, 模型训练, 模型评估, 精确率, 重采样, 金融安全