项目简介
该项目是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于通过大型语言模型 (LLM) 客户端(如 Claude Desktop)实现端到端的机器学习线性回归工作流程。它允许 LLM 直接处理用户上传的 CSV 数据,进行预处理,并训练线性回归模型,最后评估模型性能。
主要功能点
- 数据上传与管理: 能够接收并存储用户上传的 CSV 数据集,方便后续处理。
- 数据探索: 提供查看数据集列名等基本信息的功能。
- 分类数据处理: 能够识别并自动对分类列进行 Label Encoding 编码,为模型训练做准备。
- 线性回归模型训练: 支持指定目标列,自动划分训练集和测试集,训练线性回归模型。
- 模型评估: 训练完成后,计算并返回模型的 RMSE (均方根误差) 值。
这些功能通过标准化的 MCP "工具" 暴露给 LLM 客户端调用。
安装步骤
- 克隆仓库:
git clone https://github.com/HeetVekariya/Linear-Regression-MCP cd Linear-Regression-MCP - 安装 'uv': 本项目使用 'uv' 进行包管理。请按照 uv 安装指南 安装 'uv'。
- 安装依赖:
在项目根目录下运行以下命令安装所有必需的 Python 依赖:
uv sync
服务器配置
MCP 服务器需要由 MCP 客户端(例如 Claude Desktop)启动。你需要修改客户端的配置文件,告知客户端如何启动此 MCP 服务器。
以 Claude Desktop 为例,修改其配置文件(macOS/Linux: '~/Library/Application Support/Claude/claude_desktop_config.json', Windows: '%AppData%\Claude\claude_desktop_config.json'),在 'mcpServers' 部分添加一个条目,例如:
{ "mcpServers": { "linear-regression": { "command": "...", // 替换为 uv 可执行文件的绝对路径 "args": [ "...", // 替换为 Linear-Regression-MCP 仓库目录的绝对路径 "run", "server.py" ] } } }
- 'linear-regression': 这是你在客户端中为此服务器指定的名称。
- 'command': 指定启动服务器的可执行程序。这里是 'uv' 的绝对路径。
- 'args': 传递给 'command' 的参数。包括指定工作目录(Linear-Regression-MCP 仓库路径)、运行命令 ('run') 和要执行的脚本 ('server.py')。请确保这里的路径是正确的绝对路径。
保存配置文件后,重启 Claude Desktop 客户端即可连接此 MCP 服务器。
基本使用方法
与服务器建立连接后,你可以通过 LLM 客户端与服务器提供的工具进行交互。基本流程通常包括:
- 上传数据: 使用 'upload_file' 工具上传你的 CSV 数据集。
- 了解数据: 使用 'get_columns_info' 查看列名,使用 'check_category_columns' 检查分类列。
- 数据预处理: 如果有分类列,使用 'label_encode_categorical_columns' 进行编码。
- 训练模型: 使用 'train_linear_regression_model' 工具,并指定你想要预测的目标列(因变量)。服务器将训练模型并返回 RMSE 值。
整个过程通过与 LLM 的对话和 LLM 对 MCP 工具的调用来完成。
信息
分类
AI与计算