Akshadgajapure/real-time-fraud-detection
GitHub: Akshadgajapure/real-time-fraud-detection
基于IEEE数据集构建的端到端机器学习欺诈检测系统,提供实时交易风险预测的Web界面。
Stars: 0 | Forks: 0
# 欺诈检测系统
一个基于 **IEEE Fraud Detection dataset** 构建的端到端 **Machine Learning 欺诈检测系统**。
该项目包括数据预处理、特征工程、模型训练,以及一个用于实时欺诈预测的 **Streamlit web 应用程序**。
## 项目概述
在线交易极易受到欺诈。金融机构需要能够实时检测可疑交易的系统。
本项目构建了一个 **machine learning pipeline,利用历史交易数据预测交易是欺诈还是合法**。
该系统包括:
* 数据预处理和特征工程
* Machine learning 模型训练
* 用于推理的已保存模型 pipeline
* 用于实时预测的 Streamlit 应用程序
## 关键特性
* 端到端 machine learning pipeline
* 针对欺诈检测的特征工程
* 用于欺诈分类的已训练 ML 模型
* 使用 Streamlit 的实时预测界面
* 使用 `joblib` 进行模型序列化
* 清晰的项目结构,确保可复现性
## 数据集
使用的数据集:**IEEE Fraud Detection Dataset**
来源:
由于 GitHub 大小限制,该数据集**不包含在此仓库中**。
步骤:
1. 从 Kaggle 下载数据集
2. 将文件放入项目目录中的 `data/` 文件夹内
示例结构:
data/
* train_transaction.csv
* test_transaction.csv
## 项目结构
```
Fraud-Detection
│
├── FRAUD DETECTION PROJECT.ipynb # Exploratory analysis and model training
├── app.py # Streamlit application
├── predict.py # Script for model inference
├── fraud_pipeline.pkl # Trained ML pipeline
├── model_columns.pkl # Saved feature columns
├── feature_importance.csv # Feature importance analysis
├── requirements.txt # Project dependencies
├── README.md # Project documentation
└── .gitignore
```
## 技术栈
编程语言
* Python
库
* Pandas
* NumPy
* Scikit-learn
* Joblib
* Streamlit
* Matplotlib
* Seaborn
工具
* Git
* GitHub
* VS Code
## Machine Learning 流水线
欺诈检测 pipeline 包括:
1. 数据清洗
2. 特征工程
3. 处理缺失值
4. 模型训练
5. 模型评估
6. 模型序列化
经过训练的 pipeline 使用 `joblib` 保存,并在预测期间加载。
## 运行项目
### 1. Clone 仓库
```
git clone https://github.com/Akshadgajapure/Fraud-Detection-.git
cd Fraud-Detection-
```
### 2. 创建虚拟环境
```
python -m venv venv
```
激活环境
Windows
```
venv\Scripts\activate
```
Mac/Linux
```
source venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 运行 Streamlit 应用程序
```
streamlit run app.py
```
应用程序将在以下地址启动:
```
http://localhost:8501
```
## 示例输出
系统预测:
* 欺诈预测 (0 或 1)
* 欺诈概率
示例输出:
```
Fraud Prediction: 1
Fraud Probability: 0.87
```
## 未来改进
* 使用 Docker 部署模型
* 添加实时流预测
* 实现高级模型
* 构建生产级 ML pipeline
## 作者
Akshad Gajapure
化学工程本科在读 — NIT Raipur
兴趣:
* Machine Learning
* Data Science
* AI 应用
GitHub
LinkedIn
## 许可证
该项目是开源的,并根据 MIT 许可证可用。
标签:Apex, BSD, IEEE欺诈数据集, Kaggle, Kubernetes, ML Pipeline, Python, Scikit-learn, Streamlit, 交易监测, 代码示例, 分类算法, 反欺诈系统, 实时预测, 数据分析, 数据挖掘, 无后门, 机器学习, 模型训练, 欺诈检测, 特征工程, 端到端, 访问控制, 逆向工具, 金融安全, 金融风控