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, 不平衡数据处理, 交易模拟, 信用卡欺诈检测, 信用欺诈检测, 准确率, 反欺诈, 召回率, 可复现实验, 后端开发, 实时检测, 探索性数据分析, 数据清洗, 数据预处理, 无后门, 机器学习, 模块化架构, 模型训练, 模型评估, 精确率, 重采样, 金融安全