Priyanshu-1608-dubey/financial-fraud-detection-main

GitHub: Priyanshu-1608-dubey/financial-fraud-detection-main

这是一个基于机器学习的端到端金融欺诈检测系统,通过SMOTE处理不平衡数据并结合Streamlit仪表板实现可视化分析与实时风险预测。

Stars: 0 | Forks: 0

# 💳 金融欺诈检测系统 一个端到端的 **机器学习与数据分析项目**,旨在利用先进的分类模型和交互式 Streamlit 仪表板来检测欺诈性金融交易。 ## 🚀 项目概述 **金融欺诈检测系统**利用机器学习技术识别可疑交易并预防金融欺诈。 该系统分析交易属性,例如: - 交易金额 - 设备类型 - 卡类型 - 商户类别 - 账户余额 - 交易历史 一个交互式的 **Streamlit 仪表板** 提供: - 数据可视化 - 模型比较 - 特征重要性洞察 - 实时欺诈预测工具 ## 🎯 目标 - 使用机器学习模型检测欺诈交易 - 使用 SMOTE 处理不平衡数据 - 使用评估指标比较多个模型 - 通过交互式仪表板可视化洞察 - 构建实时欺诈预测工具 ## 🧠 使用的机器学习模型 - Logistic Regression - K-Nearest Neighbors (KNN) - Decision Tree - Random Forest ## 🏗️ 项目工作流 ``` Data Collection ↓ Data Preprocessing (Cleaning, Encoding, Scaling) ↓ Handling Imbalance (SMOTE) ↓ Exploratory Data Analysis (EDA) ↓ Model Training ↓ Model Evaluation ↓ Feature Importance Analysis ↓ Streamlit Dashboard Deployment ``` ## 📊 仪表板功能 ### 🏠 主页 - 项目描述和概述 ### 📁 数据集概览 - 总交易数 - 欺诈与正常交易分布 - 数据集预览 ### 📊 探索性数据分析 (EDA) - 欺诈分布 - 交易金额分析 - 设备 / 卡 / 商户洞察 - 相关性热力图 ### 🤖 模型性能 - 准确率、精确率、召回率、F1 分数 - ROC AUC 比较 - ROC 曲线可视化 ### 📌 特征重要性 - 影响欺诈检测的最重要特征 ### 📉 混淆矩阵分析 - 按模型分类的混淆矩阵 ### 💳 欺诈检测工具 - 实时交易预测 - 风险评分输出 ## 🛠️ 技术栈 - **编程语言:** Python - **库:** - Pandas, NumPy - Scikit-learn - Imbalanced-learn (SMOTE) - Matplotlib, Seaborn - **仪表板:** Streamlit - **模型部署:** Joblib ## 📂 项目结构 ``` Financial-Fraud-Detection/ │ ├── data/ │ ├── fraud_dataset.csv │ └── cleaned_data.csv │ ├── src/ │ ├── data_preprocessing.py │ ├── train_model.py │ ├── model_metrics.py │ ├── roc_curve.py │ ├── feature_importance.py │ ├── confusion_matrix_analysis.py │ └── predict_fraud.py │ ├── dashboard/ │ └── app.py │ ├── models/ │ └── fraud_pipeline.pkl │ ├── assets/ │ ├── requirements.txt └── README.md ``` ## ⚙️ 安装与设置 ### 1️⃣ 克隆仓库 ``` git clone https://github.com/your-username/fraud-detection.git cd fraud-detection ``` ### 2️⃣ 创建虚拟环境 ``` python -m venv venv venv\Scripts\activate # Windows ``` ### 3️⃣ 安装依赖 ``` pip install -r requirements.txt ``` ### 4️⃣ 训练模型 ``` python src/train_model.py ``` ### 5️⃣ 运行仪表板 ``` streamlit run dashboard/app.py ``` ## 📈 模型评估指标 模型使用以下指标进行评估: - 准确率 - 精确率 - 召回率 - F1 分数 - ROC AUC 分数 这些指标确保可靠的欺诈检测性能。 ## 🔍 关键洞察 - 欺诈检测是一个 **高度不平衡的问题** - SMOTE 显著提升了模型学习能力 - 集成模型 拥有更好的表现 - 交易金额和商户类别是关键指标 ## 📌 结果 - 成功构建了欺诈检测系统 - 使用平衡数据实现了改进的检测效果 - 开发了完全交互式的仪表板 - 实现了实时欺诈预测 ## 🔮 未来增强 - 使用深度学习 (LSTM / Neural Networks) - 基于流式数据的实时欺诈检测 - 使用 Flask / FastAPI 进行部署 - 与银行系统集成 - 可解释人工智能 (SHAP values) ## 👨‍💻 作者 **Priyanshu Dubey** 实习项目 – 数据科学与分析 ## ⭐ 致谢 本项目是在 **数据科学实习** 期间开发的,重点关注机器学习在金融安全领域的实际应用。
标签:Apex, BSD, Kubernetes, K近邻, ROC曲线, SMOTE, Streamlit, 交互式仪表盘, 代码示例, 决策树, 分类算法, 实时预测, 开源安全, 异常检测, 支付安全, 数据不平衡, 数据分析, 数据挖掘, 数据预处理, 机器学习, 模型评估, 欺诈识别, 混淆矩阵, 特征工程, 访问控制, 逆向工具, 逻辑回归, 金融反欺诈, 金融科技, 随机森林, 风控系统