saivedulapurapu/UserSpecified_FraudDetector
GitHub: saivedulapurapu/UserSpecified_FraudDetector
一个基于机器学习的端到端欺诈检测系统,通过异常检测算法识别可疑交易,并提供分析师反馈闭环实现模型的持续优化与迭代。
Stars: 0 | Forks: 0
# 欺诈检测系统 (应用数据科学)
一个端到端的欺诈检测系统,应用机器学习来识别异常交易。它具有可扩展的后端、实时交易模拟、用于动态模型再训练的持续反馈循环,以及用于分析结果的交互式前端。
## 🌟 核心功能
- **交易模拟:** 生成逼真的实时合成交易数据以测试系统。
- **机器学习模型:** 利用异常检测模型(例如 Isolation Forest, Local Outlier Factor)对交易进行评分并分类欺诈。
- **持续反馈循环:** 分析师可以审查标记的交易。反馈将被记录下来,并用于随着时间的推移自动重新训练和改进模型。
- **FastAPI 后端:** 一个强大且高性能的 API,用于提供预测、处理用户数据以及接收反馈。
- **Streamlit 前端:** 用于实时监控和数据可视化的交互式仪表板。
- **特征工程:** 自动化 pipeline,用于从原始交易日志中提取有意义的时空和行为特征。
## 🏗️ 项目架构
```
├── backend/ # FastAPI application, feedback controllers, and retraining logic
├── frontend/ # Streamlit dashboard for data visualization and user interaction
├── models/ # Machine learning model definitions, training scripts, and serialized models (*.pkl)
├── utils/ # Helper functions, including the feature engineering pipeline (features.py)
├── run_simulation.py # Generates synthetic data and simulates active transactions
├── run_tests.py # Unit and integration test suite
├── export_user_data.py # Utility script to extract and export user/transaction history
└── config.py # Central configuration settings for the system
```
## 🚀 开始使用
### 前置条件
- Python 3.8+
- [Git](https://git-scm.com/)
### 安装说明
1. 克隆仓库:
git clone https://github.com/saivedulapurapu/UserSpecified_FraudDetector.git
cd UserSpecified_FraudDetector
2. (可选)创建并激活虚拟环境:
python -m venv venv
# 在 Windows 上使用: venv\Scripts\activate
# 在 macOS/Linux 上使用: source venv/bin/activate
3. 安装依赖:
pip install -r requirements.txt
*(注意:请确保已安装本项目的标准库,如 `fastapi`、`uvicorn`、`streamlit`、`scikit-learn`、`pandas` 和 `numpy`)。*
### 🛠️ 如何运行该系统
请按顺序执行以下步骤以启动完整的 pipeline:
1. **清理旧数据库(可选):**
如果您想从头开始,请删除根目录或 `backend/` 目录中现有的 SQLite `.db` 文件(如 `user_profiles.db` 或 `transaction_history.db`)。
2. **运行模拟:**
为欺诈检测工作流生成基准模拟数据。
python run_simulation.py
3. **训练初始模型:**
在新近生成的模拟数据上训练基础的欺诈检测模型。
python models/train.py
4. **启动后端 API:**
启动处理预测和反馈路由的 FastAPI 服务器。
uvicorn backend.main:app --reload
*(后端通常在 `http://localhost:8000` 上运行。您可以在 `http://localhost:8000/docs` 访问交互式 API 文档)*
5. **启动前端仪表板:**
打开一个新的终端窗口并启动 Streamlit 应用。
streamlit run frontend/app.py
*(仪表板将可通过 `http://localhost:8501` 访问)*
## 🔄 反馈与再训练循环
该系统的核心功能之一是其适应能力:
1. 后端 API 对新交易进行评分。
2. 可疑交易会在前端被标记。
3. 分析师提供**反馈**(True Positive / False Positive)。
4. 反馈由 `backend/feedback.py` 中定义的端点捕获。
5. 定期或手动触发时,`backend/retrain.py` 会使用新分类的数据更新当前运行的机器学习模型,从而随着时间的推移提高准确性并减少 false positive。
## 🧪 测试
为了确保系统的可靠性,请运行自动化测试套件:
```
python run_tests.py
```
这会在特征工程 pipeline、后端端点和模拟逻辑中运行验证。
标签:Apex, API服务, AV绕过, FastAPI, Kubernetes, Python, Streamlit, 主动学习, 交互式仪表盘, 反欺诈检测系统, 反馈循环, 孤立森林, 实时交易模拟, 局部异常因子, 异常交易检测, 数据合成, 数据科学, 无后门, 机器学习, 模型重训练, 特征工程, 端到端系统, 访问控制, 资源验证, 逆向工具, 金融安全, 金融科技, 风控系统