Token导航 LogoToken导航TokenDH.com
Agentic Fruad Detection System logo
金融服务stdio官方级别未说明来源级核验

Agentic Fruad Detection System

MCP Server

一个利用强化学习和模型上下文协议的高级欺诈检测系统,用于智能、自适应的欺诈预防。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
机器学习Python模型管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BrynRamirez

提供方

BrynRamirez

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python --version # Should be 3.11.x

详细介绍

基于强化学习(RL)和多智能体协同规划(MCP)的代理欺诈检测系统

一个先进的欺诈检测系统,利用强化学习(RL)和模型上下文协议(MCP)实现智能、自适应的欺诈预防。

概述

这个项目实现了一个复杂的欺诈检测系统,采用的方法包括:

  • 人工智能代理使用GitHub Copilot CLI和上下文工程进行自动化模型构建
  • 机器学习XGBoost、LightGBM和随机森林用于欺诈分类
  • 强化学习针对欺诈预防的自适应决策制定
  • MLflow全面的实验追踪与模型管理
  • 模型上下文协议(MCP)标准化AI模型集成

特性/特点

✅ 已完成的功能

数据管道(手动实现)

  • ✅ 从IEEE-CIS欺诈检测数据集中加载数据
  • ✅ 预处理流程(缺失值填补,异常值处理)
  • ✅ 特征工程(时间特征、分类编码、聚合操作)
  • ✅ 预处理后的数据集:590,540笔交易 × 434个特征

✅ 特性1:代理驱动的模型构建

状态90% 完成 - 全面模型对比研究已完成

已完成

  • ✅ MLflow 实验跟踪设置
  • ✅ MLflow 服务器正在 http://localhost:5000 上运行
  • ✅ 创建了包含15+次运行的“欺诈检测”实验
  • ✅ 完整的项目背景文档
  • ✅ 代理基础设施和辅助脚本
  • XGBoost模型 - 测试了5种不平衡技术(任务7)
  • LightGBM模型 - 测试了5种不平衡技术(任务8)
  • 随机森林模型 - 测试了5种不平衡技术(任务9)
  • 完成3×5比较矩阵 - 对所有15种组合进行了评估
  • 不平衡处理研究 - SMOTE,ADASYN,SMOTETomek,欠采样,类别权重
  • ✅ 翻译为中文是:✓(对号,表示正确或确认) 生产建议 - 随机森林+ADASYN被认定为最佳方法

结果总结:

🏆(这个符号通常表示奖杯或胜利,没有直接对应的中文翻译,但可以理解为“奖杯”或“胜利的象征”) 总冠军:随机森林 + ADASYN

  • F1分数测试0.5411(在所有15个组合中最高)
  • 精确度74.12%(平衡度高 - 假阳性低)
  • 召回42.61%(拦截了43%的欺诈行为)
  • ROC-AUC88.67%
  • 外部袋外(Out-Of-Bag)得分97.95%(卓越稳定性)

模型排名 (按最佳F1分数):

  1. 🥇 随机森林 + ADASYN: 0.5411
  2. 🥈 随机森林 + SMOTE:0.5367
  3. 🥉 随机森林 + SMOTETomek:0.5332
  4. XGBoost + SMOTE:0.5264
  5. XGBoost + SMOTETomek:0.5262
  6. LightGBM + ADASYN:0.5255

关键见解

  • ✅ 重采样技术在仅使用类别权重的基础上,使F1分数提高了200-300%
  • ✅ 所有三个模型(XGBoost、LightGBM、随机森林)均适用于生产环境
  • ✅ 随机森林在精确度和召回率平衡的情况下取得了最佳F1分数
  • ✅ ADASYN在随机森林和LightGBM上的表现优于SMOTE
  • ✅ OOB分数(97.9%)表明出色的泛化能力

剩余任务

  • ⏳ 任务10:最终模型选择及生产部署文档编制

关键组件:

  • MLflow 实验: fraud-detection (记录了15个跑动)
  • 跟踪URI(统一资源标识符)http://localhost:5000 翻译为中文是:“本地主机:5000 端口”。不过,通常我们不会直接这样翻译网址,而是会说“访问本地主机的5000端口”或者“打开http://localhost:5000这个网址”。在这里,“localhost”指的是当前计算机,“5000”是端口号
  • 报告reports/all_models_techniques_comparison.csv (完成3×5矩阵)
  • 模型16个训练模型已保存(约330 MB)
  • 文档: 功能1/任务/ - 完成任务文档

📋 计划中的功能

特性2:强化学习智能体

  • 动态欺诈检测阈值
  • 基于奖励的学习欺诈模式
  • 自适应决策

特性3:模型上下文协议集成

  • 标准化模型接口
  • 多模型协同调度
  • 实时欺诈预测API

特性4:生产部署

  • FastAPI REST API
  • 模型服务基础设施
  • 监控和报警

快速入门

先决条件

  1. Python 3.11
   python --version  # Should be 3.11.x
  1. 虚拟环境
   python -m venv .venv
   # Windows
   .venv\Scripts\activate
   # Unix/MacOS
   source .venv/bin/activate
  1. 依赖项
   pip install -r requirements.txt
  1. 带有 Copilot 的 GitHub CLI (针对AI代理)
   gh --version
   gh copilot --version

设置 MLflow

# Start MLflow server
mlflow ui --host 0.0.0.0 --port 5000

# Access MLflow UI
# Open browser: http://localhost:5000

数据集准备

预处理后的数据集已可获取于 data/datasets/train_processed.csv

数据集规范:

  • 来源IEEE-CIS欺诈检测(Kaggle)
  • 形状590,540 行 × 434 列
  • 目标isFraud(二进制:0=合法,1=欺诈)
  • 类别分布3.5%的欺诈率(严重失衡)
  • 特点/特性433项特征,包括交易、卡片、地址、设备和时间属性

🎯 准生产就绪模型(15种组合中的最佳选择)

获胜者随机森林 + ADASYN(一种用于处理类别不平衡数据的过采样技术)

from models.random_forest_model import RandomForestFraudDetector
from data.imbalance_handler import ImbalanceHandler
import pandas as pd

# Load and prepare data
df = pd.read_csv('data/datasets/train_processed.csv')
X, y = df.drop('isFraud', axis=1), df['isFraud']

# Apply ADASYN resampling
handler = ImbalanceHandler()
X_resampled, y_resampled = handler.handle_imbalance(
    X, y, strategy='adasyn', random_state=42
)

# Train production model
model = RandomForestFraudDetector(params={
    'n_estimators': 100, 'max_depth': 15, 'n_jobs': -1,
    'oob_score': True, 'random_state': 42
})
model.train(X_resampled, y_resampled)

# Results: F1=0.5411, Precision=74.12%, Recall=42.61%, OOB=97.95%

性能对比

模型技术F1分数精确度召回率速度
随机森林ADASYN(一种处理类别不平衡数据的方法)0.5411 🏆74.12%42.61%约20分钟
XGBoostSMOTE0.526480.34%39.15%约12分钟
LightGBMADASYN0.525581.76%38.71%约10分钟

备选方案

  • 为了达到最高速度:使用LightGBM + ADASYN
  • 为了达到最高精度:LightGBM + ADASYN(81.76%)
  • 为了达到最高的召回率:随机森林 + 类别权重(69.42%)

运行模型比较

# Compare all techniques across all models
python scripts/compare_imbalance_methods.py          # XGBoost
python scripts/compare_imbalance_lightgbm.py         # LightGBM
python scripts/compare_imbalance_random_forest.py    # Random Forest

# View complete 3×5 matrix
cat reports/all_models_techniques_comparison.csv

使用AI代理生成模型

# Navigate to agents directory
cd agents

# Generate XGBoost model
./model_builder_agent.sh xgboost

# Generate LightGBM model
./model_builder_agent.sh lightgbm

# Generate Random Forest model
./model_builder_agent.sh randomforest

训练模型

# Train XGBoost
python scripts/train_xgboost.py

# Train LightGBM
python scripts/train_lightgbm.py

# Train Random Forest
python scripts/train_random_forest.py

在MLflow中查看结果

  1. 打开 http://localhost:5000
  2. 导航至“欺诈检测”实验
  3. 通过F1分数、精确率、召回率、ROC-AUC来比较运行结果
  4. 下载模型工件和可视化结果

项目结构

agentic-fraud-detection/
│
├── agents/                          # AI agent scripts and context
│   ├── context/
│   │   └── project_context.md      # Comprehensive specifications for agents
│   ├── model_builder_agent.sh      # Agent for model generation
│   ├── _agent_helpers.sh           # Shared utilities
│   └── README.md                   # Agent usage guide
│
├── data/                            # Data pipeline and datasets
│   ├── datasets/
│   │   └── train_processed.csv     # Preprocessed data (590K rows × 434 cols)
│   ├── loader.py                   # Data loading utilities
│   ├── preprocessing.py            # Preprocessing pipeline
│   └── feature_engineering.py      # Feature engineering
│
├── models/                          # Model implementations (agent-generated)
│   ├── xgboost_model.py            # XGBoost fraud detector
│   ├── lightgbm_model.py           # LightGBM fraud detector
│   └── random_forest_model.py      # Random Forest fraud detector
│
├── scripts/                         # Training and evaluation scripts
│   ├── train_xgboost.py
│   ├── train_lightgbm.py
│   └── train_random_forest.py
│
├── mlruns/                          # MLflow experiment tracking data
│   └── fraud-detection/            # Experiment runs and artifacts
│
├── rl/                              # Reinforcement learning components
│   └── (planned)
│
├── api/                             # REST API for predictions
│   └── (planned)
│
├── tests/                           # Unit and integration tests
│   └── test_mlflow_setup.py
│
├── requirements.txt                 # Python dependencies
├── .env                            # Environment variables
└── README.md                       # This file

技术栈

核心技术

  • Python 3.11主要编程语言
  • 熊猫数据操作
  • Scikit-learn机器学习工具和随机森林
  • XGBoost梯度提升框架
  • LightGBM快速梯度提升
  • MLflow实验追踪和模型注册
  • GitHub Copilot 命令行界面 (CLI)基于人工智能的代码生成

可视化

  • Matplotlib(中文常译为“马特洛普特”或直接使用英文原名,因其是一个绘图库名称,具体翻译可能因习惯而异,但通常不译为中文)绘图与可视化
  • Seaborn(注:Seaborn是一个用于Python的数据可视化库,常用于绘制统计图形,但在此处作为专有名词直接翻译,不添加额外解释)统计图形

处理类别不平衡问题

  • imbalanced-learn(中文可译为“不平衡学习库”或根据上下文简化为“不平衡学习”)SMOTE和重采样技术
  • 类别权重内置模型参数

未来的增补

  • Ray RLlib强化学习框架
  • FastAPIREST API框架
  • Docker集装箱化
  • Prometheus/Grafana(普罗米修斯/格拉法纳)监测

模型性能指标

所有模型均在以下方面进行了评估:

  1. F1分数 (主要指标)- 精确率和召回率之间的平衡
  2. 精确度 - 最小化误报(将合法交易标记为欺诈)
  3. 召回 - 最小化假阴性(漏检欺诈)
  4. ROC-AUC(受试者工作特征曲线下面积) - 整体辨别能力

目标绩效:

  • F1分数 > 0.5(最低基准)
  • ROC-AUC > 0.85(具有良好的判别能力)
  • 召回率 > 0.6(至少捕捉到60%的欺诈行为)

MLflow 实验追踪

追踪的内容是什么

  • 参数所有超参数、随机种子、划分比例
  • 指标F1分数,精确度,召回率,ROC曲线下面积(训练集和测试集)
  • 人工制品;文物;遗迹训练好的模型、混淆矩阵、ROC曲线、特征重要性

访问MLflow

Web 用户界面http://localhost:5000 翻译为中文是:“本地主机上的5000端口”。不过,通常我们不会直接这样翻译网址,而是根据上下文可能解释为“访问本地开发服务器(运行在5000端口)”或“打开本地5000端口的服务”。但简短地翻译网址本身,就是“本地主机上的5000端口”

程序化访问

import mlflow

# Search for best run
best_run = mlflow.search_runs(
    experiment_names=["fraud-detection"],
    order_by=["metrics.f1_score DESC"],
    max_results=1
)

开发工作流程

利用AI代理进行开发

这个项目使用了 上下文工程 - 一种技术,即向人工智能代理(如GitHub Copilot CLI)提供全面的规范,以生成可直接用于生产的代码。

工作流程

  1. 定义(或“明确”)需求于 agents/context/project_context.md
  2. 运行代理脚本: ./agents/model_builder_agent.sh
  3. 代理生成完整的模型类和训练脚本
  4. 审查并验证生成的代码
  5. 在MLflow中训练模型并进行追踪
  6. 比较结果并选择最佳模型

好处

  • ✅ 更快的开发速度(几分钟对比几小时)
  • ✅ 代码质量一致(符合标准)
  • ✅ 完整的文档(自动生成)
  • ✅ 减少了人为错误

请见 agents/README.md(文件名保持不变,可理解为“agents 目录下的 README.md 文件”) 以获取详细的代理使用指南。

手动开发

如果不使用代理,请按照以下步骤操作:

  1. 创建模型类models/{model_name}_model.py

- 实现所需方法:训练、评估、预测、保存、加载 - 处理类别不平衡问题 - 包含类型提示和文档字符串

  1. 创建培训脚本scripts/train_{model_name}.py

- 加载预处理后的数据 - 训练集-测试集划分(80-20,分层划分) - MLflow 跟踪 - 生成可视化图表

  1. 训练与评估
   python scripts/train_{model_name}.py
  1. 在MLflow中的审查(或“复审”)

- 检查指标 - 下载工件(或制品) - 与其他模型进行比较

测试

运行所有测试

pytest tests/

测试MLflow设置

python tests/test_mlflow_setup.py

验证上下文文档

# Test agent understanding of context
cd agents
gh copilot suggest -t shell "Context: $(cat context/project_context.md)
Task: List the 3 main model types and their key hyperparameters."

故障排除

MLflow 服务器未运行

# Check if running
curl http://localhost:5000/health

# Restart if needed
pkill -f "mlflow"
mlflow ui --host 0.0.0.0 --port 5000 &

导入错误

# Verify virtual environment is activated
which python  # Unix/MacOS
where python  # Windows

# Reinstall dependencies
pip install -r requirements.txt

代理生成问题

# Check GitHub CLI
gh --version
gh copilot --version

# Test simple prompt
gh copilot suggest -t shell "echo hello"

数据集加载错误

# Verify dataset exists
python -c "import pandas as pd; df = pd.read_csv('data/datasets/train_processed.csv'); print(f'Shape: {df.shape}')"

做出贡献

代码标准

  • Python 3.11 兼容性
  • 类型提示 对于所有函数
  • 谷歌风格的文档字符串
  • 错误处理 使用 try-except 块
  • 记录日志 (不是打印语句)
  • PEP 8(Python增强提案8) 格式化

拉取请求流程

  1. 创建特性分支
  2. 遵循代码规范
  3. 为新功能添加测试
  4. 更新文档
  5. 提交带有描述的拉取请求(Pull Request)

路线图

第一阶段:基础 ✅ 已完成

  • ✅ 数据管道实现
  • ✅ MLflow 实验追踪
  • ✅ 人工智能代理基础设施
  • ✅ 基线模型生成

第二阶段:模型开发 ✅ 90% 完成

  • ✅ XGBoost、LightGBM、随机森林模型
  • ✅ 不平衡处理方法对比(5种技术)
  • ✅ 完成3×5模型+技术矩阵(15种组合)
  • ✅ 已确定生产模型(随机森林+ADASYN)
  • ⏳ 最终部署文档(任务10)

第三阶段:强化学习

  • ⏳ 用于自适应阈值的强化学习(RL)智能体
  • ⏳ 奖励函数设计
  • ⏳ 训练流程
  • ⏳ 性能评估

第四阶段:生产

  • ⏳ REST API开发
  • ⏳ 模型部署
  • ⏳ 监控仪表盘
  • ⏳ A/B测试框架

许可证

\[在此指定许可证\]

致谢

  • 数据集IEEE-CIS欺诈检测(Kaggle)
  • MLflowDatabricks/MLflow 团队
  • GitHub CopilotGitHub/OpenAI(直接翻译为中文即为“GitHub/开放人工智能研究所”,但通常我们保留原名以指代特定平台或组织,因此也可直接使用“GitHub/OpenAI”这一表述)
  • 开源社区XGBoost、LightGBM、Scikit-learn 的贡献者

联系

如有疑问或需支持:

  • 审查文档中的内容 agents/README.md
  • 在 http://localhost:5000 上查看 MLflow 用户界面
  • 检查上下文文档于 agents/context/project_context.md

______________________________________________________________________

最后更新时间2025年10月9日\ 状态积极开发中 - 功能1 完成度90%\ 当前阶段模型开发 - 确定生产模型\ 最佳模型随机森林 + ADASYN(F1分数:0.5411)

目录标签

目录标签

机器学习Python模型管理本地部署欺诈检测强化学习金融安全

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP