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, 交互式仪表盘, 代码示例, 决策树, 分类算法, 实时预测, 开源安全, 异常检测, 支付安全, 数据不平衡, 数据分析, 数据挖掘, 数据预处理, 机器学习, 模型评估, 欺诈识别, 混淆矩阵, 特征工程, 访问控制, 逆向工具, 逻辑回归, 金融反欺诈, 金融科技, 随机森林, 风控系统