Simran-Kumari92/fraud-detection-system

GitHub: Simran-Kumari92/fraud-detection-system

这是一个结合机器学习和规则逻辑的混合系统,用于实时检测金融交易中的欺诈行为。

Stars: 0 | Forks: 0

# 💳 混合欺诈检测系统 一个基于机器学习的欺诈检测系统,通过结合 **机器学习模型与基于规则的逻辑** 来识别可疑金融交易。 ## 🚀 概述 本项目专注于在高度不平衡的金融数据集中检测欺诈交易。 它结合了: * **机器学习 (随机森林)** * **SMOTE (处理类别不平衡)** * **特征工程 (余额不一致检测)** * **混合逻辑 (机器学习 + 基于规则的验证)** ## 🎯 核心功能 * 🔍 使用 Streamlit 进行实时欺诈预测 * ⚖️ 使用 SMOTE 处理不平衡数据 * 🧠 特征工程 (余额误差、余额比率、取款模式) * 🔗 结合机器学习预测与基于规则检查的混合系统 * 📊 模型比较 (逻辑回归、随机森林、XGBoost) * 📈 带置信度可视化的风险评分 ## 📸 界面截图 ### 🔹 应用程序界面 ![UI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b3e3312330193842.png) ### 🔹 欺诈检测 (高风险) ![Fraud](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4b0592dc4a193849.png) ### 🔹 安全交易 ![Safe](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e5f0c02ea9193853.png) ### 🔹 可疑交易 ![Warning](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b8bbd160cb193900.png) ## 🛠️ 技术栈 * Python * Pandas, NumPy * Scikit-learn * XGBoost * Imbalanced-learn (SMOTE) * Streamlit ## 📂 项目结构 ``` fraud-detection/ │ ├── app/ │ └── fraud_detection.py # Streamlit UI │ ├── src/ │ └── train_models.py # Model training script │ ├── data/ │ └── AIML Dataset.csv # (Not included - see below) │ ├── models/ │ └── fraud_detection_pipeline.pkl # Generated after training │ ├── results/ │ └── model_comparison.csv │ ├── notebooks/ │ └── analysis_model.ipynb │ └── README.md ``` ## 📊 数据集 本项目使用了一个 **使用 PaySim 生成的合成金融交易数据集**。 ⚠️ 由于文件大小限制,数据集未包含在本仓库中。 👉 从 Kaggle 下载数据集: https://www.kaggle.com/datasets/amanalisiddiqui/fraud-detection-dataset?resource=download 下载后,将文件放置于: ``` data/AIML Dataset.csv ``` ## ⚙️ 设置说明 ### 1️⃣ 克隆仓库 ``` git clone https://github.com/Simran-Kumari92/fraud-detection-system cd hybrid-fraud-detection-system ``` ### 2️⃣ 安装依赖项 ``` pip install -r requirements.txt ``` ### 3️⃣ 训练模型 ``` cd src python train_models.py ``` 👉 这将生成: ``` models/fraud_detection_pipeline.pkl ``` ### 4️⃣ 运行应用程序 ``` cd .. streamlit run app/fraud_detection.py ``` ## 🧠 工作原理 ### 🔹 机器学习模型 * 基于交易数据训练的随机森林分类器 * 使用 SMOTE 处理数据不平衡问题 ### 🔹 特征工程 * 检测交易余额中的不一致情况 * 为模型添加领域特定的洞察 ### 🔹 混合逻辑 (核心亮点) * 机器学习预测概率 * 基于规则的逻辑检测: * 余额全额提取 * 大额交易 * 余额不一致 👉 最终决策结合两种方法 ## 📈 模型性能 | 模型 | 精确率 | 召回率 | F1 分数 | | ------------------- | ------ | ------ | ------- | | 逻辑回归 | 低 | 高 | 低 | | 随机森林 | 中等 | 高 | 最佳 | | XGBoost | 中等 | 高 | 良好 | ## ⚠️ 局限性 * 数据集高度不平衡 * 部分交易类型 (如 PAYMENT) 的欺诈案例极少 * 模型依赖数据集的模式 ## 🚀 未来改进方向 * 使用更大、更多样的数据集 * 添加深度学习模型 * 改进稀有交易类型的欺诈检测 * 部署到云平台 (AWS / Streamlit Cloud)
标签:Apex, Kubernetes, PaySim模拟, Python, SMOTE, Streamlit, XGBoost, 不平衡数据处理, 云计算, 交易监控, 合成数据, 实时系统, 数据科学, 无后门, 机器学习, 模型评估, 混合逻辑, 特征工程, 规则引擎, 访问控制, 财务安全, 资源验证, 逆向工具, 金融欺诈检测, 随机森林, 风险控制, 风险评分