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, 主动学习, 交互式仪表盘, 反欺诈检测系统, 反馈循环, 孤立森林, 实时交易模拟, 局部异常因子, 异常交易检测, 数据合成, 数据科学, 无后门, 机器学习, 模型重训练, 特征工程, 端到端系统, 访问控制, 资源验证, 逆向工具, 金融安全, 金融科技, 风控系统