pycaret
开源低代码 AutoML 平台,docker compose 一键部署,本地 5 分钟跑起完整机器学
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源低代码 AutoML 平台,docker compose 一键部署,本地 5 分钟跑起完整机器学
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历:拿到一份数据,想做一个预测模型,结果光是选算法、调参数、比效果就耗掉了一整天?PyCaret 就是为了解决这个痛点而生的——它把机器学习项目中 80% 的重复劳动自动化,让数据科学家从调参马拉松中解放出来,去做真正有价值的事情。

PyCaret 官方 Logo
PyCaret 的故事始于 2019 年,作者是来自加拿大皇后大学的 Moez Ali 博士。最初这只是他在论文研究过程中写的一个 Python 工具,用来快速比较不同机器学习算法的效果。没想到在 GitHub 上发布后,因为配置少、效果好、上手快迅速在数据科学社区传播开来,一举成为 GitHub 上最受欢迎的 AutoML 开源库之一。
2025 年,PyCaret 推出了 4.0 版本,这次不是小修小补,而是一次从内到外的全面重构。引擎换成了 scikit-learn 1.7,同时新增了 React + FastAPI 的 Web 控制台,用户不需要写一行代码,通过浏览器点点鼠标就能完成数据预处理、模型训练、对比和部署的全流程。
这个转变意味着什么?打个比方:如果说 3.x 版本的 PyCaret 是一把瑞士军刀,那 4.0 就是把这把军刀升级成了一整套数控加工中心——不只是工具本身更强大了,还多了一个可视化操作台,让完全不会写代码的人也能用上 AutoML 的能力。
PyCaret 的设计哲学是 setup → compare → create_model → tune → plot → deploy。用户只需要按顺序调用这几个函数,就能完成从数据清洗到模型上线的完整流程。
PyCaret 4.0 相比 3.x 的核心变化:
架构重构:引擎部分完全基于 scikit-learn 实现,不再是黑盒封装。这意味着如果你懂 sklearn,就能完全理解 PyCaret 在做什么。
控制平面(Control Plane):新增的 FastAPI 后端负责管理工作区(Workspace)、项目(Project)、实验(Experiment)和模型注册表(Model Registry)。你可以用 Web UI 可视化地管理所有训练记录、模型版本和部署状态。
Web UI:React + Vite 构建,支持暗色模式,所有操作通过鼠标完成,无需编辑 YAML 配置文件。
可选插件生态:
pycaret[anomaly]:异常检测(基于 PyOD)pycaret[timeseries]:时间序列预测(集成 statsmodels、sktime、pmdarima)pycaret[interpret]:模型可解释性(基于 SHAP)pycaret[full]:一键安装全部依赖PyCaret 4.0 的代码库采用 uv monorepo 结构,分为三个核心模块:
| 模块 | 技术栈 | 作用 |
|---|---|---|
Engine (packages/engine) | Python 3.11+ / scikit-learn | AutoML 核心逻辑:实验管理、超参调优、模型评估 |
Control Plane (services/api) | FastAPI / SQLAlchemy / APScheduler | REST API、任务调度、模型注册 |
Web UI (apps/web) | React 18 / TypeScript / Vite / Tailwind | 可视化操作界面 |
架构文档中明确指出,当前版本采用单进程单容器设计(SQLite + FastAPI + APScheduler 共用一个进程),这是故意为之——降低个人用户和小型团队的部署门槛。未来会支持拆分为独立 API Worker / Compute 容器,接入 PostgreSQL、S3、AWS SQS 等生产级组件。
代码质量方面:项目使用 ruff 做 linting(目标版本 Python 3.13),有 pre-commit hooks 配置,仓库根目录有 AGENTS.md、CLAUDE.md 等 AI 友好的文档(方便 Claude Code 等工具理解项目结构),说明维护者对代码质量有较高要求。
这是 PyCaret 4.0 最令人惊喜的地方——完全零配置部署。只要机器上装了 Docker Desktop(Windows/Mac)或 Docker Engine(Linux),执行以下三步:
git clone https://github.com/pycaret/pycaret.git
cd pycaret
docker compose up --build
等待约 5 分钟(首次构建),然后打开 http://localhost:3020 ,按提示创建管理员账号,就能看到完整的 PyCaret Web 控制台。里面可以创建实验、查看对比结果、管理已注册的模型。
docker-compose 配置了两个服务:pycaret-api(FastAPI 后端,端口 8020)和 pycaret-web(nginx 托管的 React 静态资源,端口 3020)。数据持久化到名为 pycaret-data 的 Docker volume,包含 SQLite 数据库、上传的 CSV 文件和已保存的 .pkl 模型文件。
硬件要求:4GB RAM + 5GB 磁盘,无需 GPU。最低只需一台能跑 Docker 的笔记本即可。
适合使用 PyCaret 的场景:
需要注意的局限:
AutoML 领域目前有三条主流路线:谷歌的 AutoML Tables(闭源云服务)、H2O AutoML(Java 生态)、以及 PyCaret(开源本地化)。PyCaret 的差异化在于:完全开源、完全本地部署、代码完全透明。
4.0 版本增加 Web UI 是一个重要信号——PyCaret 不再只是给会写 Python 的人用,而是开始面向更广泛的用户群体。随着 AI 普及,越来越多的非 ML 工程师也需要快速验证数据假设,PyCaret 的拖拽即上线模式填补了一个真实的市场空白。
Star 数量逼近一万大关、GitHub Actions 持续集成稳定运行、维护者 Moez Ali 持续活跃——PyCaret 是那种看起来简单、背后有深度的项目:上手门槛极低,但底层基于完整的 scikit-learn 生态,专业用户也能挖到足够的深度。