pycaret

GitHub
9.7k 1.8k 非常简单 1 次阅读 今天MIT其他开发框架数据工具
AI 解读 由 AI 自动生成,仅供参考

PyCaret 是一款基于 Python 的开源低代码机器学习库,旨在自动化端到端的机器学习工作流。它本质上是一个强大的封装器,整合了 scikit-learn、XGBoost、LightGBM、CatBoost 以及 Optuna 等主流算法与调优框架,让用户仅需编写几行代码,即可替代传统方式下数百行的复杂程序,从而大幅缩短实验周期并提升开发效率。

在传统机器学习中,数据预处理、模型选择、超参数调优及结果评估往往需要深厚的技术积累和繁琐的代码实现。PyCaret 通过高度自动化的流程解决了这一痛点,将复杂的工程细节隐藏在简洁的 API 背后,使用户能专注于业务逻辑与数据分析本身。

这款工具特别适合“公民数据科学家”、数据分析师、初级开发者以及希望快速验证想法的研究人员使用。即使不具备深厚的编程背景,用户也能轻松完成从数据加载到模型部署的全过程。同时,对于资深工程师而言,PyCaret 也是快速构建基准模型、进行高效原型设计的得力助手。其设计灵感源自 R 语言的 caret 库,兼顾了易用性与功能性,支持 Python 3.9 至 3.12 等多个版本,是连接业务需求与人工智能技术的友好桥梁。

使用场景

某电商公司的数据分析师需要在周末前快速构建一个用户流失预测模型,以支持下周的营销挽留活动。

没有 pycaret 时

  • 代码繁琐冗长:需要手动编写数百行代码来处理数据缺失值、编码分类变量及特征缩放,极易出错。
  • 调参耗时费力:为了找到最优模型,需逐一调用 scikit-learn、XGBoost 等库,并手动编写循环进行交叉验证和超参数搜索,耗时数天。
  • 结果对比困难:不同算法的训练结果分散在各个脚本中,缺乏统一的评估报表,难以直观横向对比性能。
  • 部署门槛高:将训练好的模型保存并转换为可部署格式需要额外的序列化代码和依赖管理,流程复杂。

使用 pycaret 后

  • 低代码自动化:仅需 setup() 初始化数据,pycaret 即可自动完成所有数据预处理和特征工程,代码量减少 90%。
  • 一键模型优选:通过 compare_models() 函数,pycaret 自动在数十种算法中进行训练、调优和交叉验证,几分钟内锁定最佳模型。
  • 统一评估视图:自动生成包含准确率、ROC 曲线等指标的综合仪表盘,让模型性能对比一目了然。
  • 无缝生产部署:利用 save_model()load_model(),pycaret 直接将完整流水线(含预处理)打包为文件,随时可集成到生产环境。

pycaret 将原本需要数天的建模周期压缩至几小时,让业务人员能专注于数据洞察而非重复的代码实现。

运行环境要求

操作系统
  • Linux (Ubuntu 16.04+)
  • Windows (7+)
GPU
  • 非必需
  • 若启用 GPU 训练,需根据模型安装额外库:LightGBM 需单独配置 GPU 版本
  • 部分模型(如逻辑回归、随机森林等)需安装 cuML >= 0.15(隐含需要 NVIDIA GPU 及对应 CUDA 环境)
内存

未说明

依赖
notes默认安装不包含所有可选依赖,可根据需求通过 pip install pycaret[extras] 安装分析、模型、调优、MLOPS 等模块。支持 Intel sklearnex 加速。提供 Docker 镜像(slim/full 版本)以便快速部署。
python3.9, 3.10, 3.11, 3.12
scikit-learn
XGBoost
LightGBM
CatBoost
Optuna
Hyperopt
Ray
pycaret hero image

快速开始

drawing

一个开源的 Python 低代码机器学习库

🎉🎉🎉 PyCaret 3.4 现已发布。 🎉🎉🎉

pip install --upgrade pycaret

文档教程博客LinkedInYouTubeSlack

概述
CI/CD pytest on push Documentation Status
代码 !pypi !python-versions !black
下载量 Downloads) Downloads) Downloads)
许可证 License
社区 Slack

alt text

欢迎来到 PyCaret

PyCaret 是一个开源的 Python 低代码机器学习库,用于自动化机器学习工作流。它是一个端到端的机器学习和模型管理工具,能够极大地加速实验周期并提高工作效率。

与其它开源机器学习库相比,PyCaret 是一种替代性的低代码库,可以用几行代码取代数百行代码,从而使实验速度和效率大幅提升。PyCaret 实际上是 scikit-learn、XGBoost、LightGBM、CatBoost、Optuna、Hyperopt、Ray 等多个机器学习库和框架的 Python 封装。

PyCaret 的设计和简洁性受到“公民数据科学家”这一新兴角色的启发,该术语最早由 Gartner 提出。“公民数据科学家”是指那些能够执行简单及中等复杂度分析任务的高级用户,而这些任务过去通常需要更高的技术专业知识。PyCaret 的灵感来源于 R 语言中的 caret 库。

🚀 安装

🌐 选项 1:通过 PyPI 安装

PyCaret 已在以下 64 位系统上经过测试和支持:

  • Python 3.9、3.10、3.11 和 3.12
  • Ubuntu 16.04 或更高版本
  • Windows 7 或更高版本

您可以通过 Python 的 pip 包管理器安装 PyCaret:

# 安装 pycaret
pip install pycaret

PyCaret 的默认安装不会自动安装所有可选依赖项。根据具体使用场景,您可能需要安装一个或多个额外组件:

# 安装分析相关依赖
pip install pycaret[analysis]

# 模型相关依赖
pip install pycaret[models]

# 调参相关依赖
pip install pycaret[tuner]

# MLOps 相关依赖
pip install pycaret[mlops]

# 并行计算相关依赖
pip install pycaret[parallel]

# 测试相关依赖
pip install pycaret[test]

# 开发相关依赖
pip install pycaret[dev]

##

# 同时安装多个额外组件
pip install pycaret[analysis,models]

请查看所有 可选依赖项。如果您希望安装包含所有可选依赖项的完整版本:

# 安装完整版
pip install pycaret[full]

📄 选项 2:从源码构建

您可以直接从源码安装开发版本的库。此版本的 API 可能不稳定,不建议用于生产环境。

pip install git+https://github.com/pycaret/pycaret.git@master --upgrade

📦 选项 3:使用 Docker

Docker 通过容器创建虚拟环境,使 PyCaret 的安装与系统其他部分隔离。PyCaret Docker 镜像预装了 Jupyter Notebook,并且可以与宿主机共享资源(访问目录、使用 GPU、连接互联网等)。PyCaret Docker 镜像始终针对最新的主要版本进行测试。

# 默认版本
docker run -p 8888:8888 pycaret/slim

# 全功能版本
docker run -p 8888:8888 pycaret/full

🏃‍♂️ 快速入门

1. 函数式 API

# 分类问题函数式 API 示例

# 加载示例数据集
from pycaret.datasets import get_data
data = get_data('juice')

# 初始化设置
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)

# 模型训练与选择
best = compare_models()

# 评估训练好的模型
evaluate_model(best)

# 在保留集/测试集上进行预测
pred_holdout = predict_model(best)

# 对新数据进行预测
new_data = data.copy().drop('Purchase', axis = 1)
predictions = predict_model(best, data = new_data)

# 保存模型
save_model(best, 'best_pipeline')

2. 面向对象 API

# 分类问题面向对象 API 示例

# 加载示例数据集
from pycaret.datasets import get_data
data = get_data('juice')

# 初始化设置
from pycaret.classification import ClassificationExperiment
s = ClassificationExperiment()
s.setup(data, target = 'Purchase', session_id = 123)

# 模型训练与选择
best = s.compare_models()

# 评估训练好的模型
s.evaluate_model(best)

# 在保留集/测试集上进行预测
pred_holdout = s.predict_model(best)

# 对新数据进行预测
new_data = data.copy().drop('Purchase', axis = 1)
predictions = s.predict_model(best, data = new_data)

# 保存模型
s.save_model(best, 'best_pipeline')

📁 模块

分类

函数式 API 面向对象 API

回归

函数式 API 面向对象 API

时间序列

函数式 API 面向对象 API

聚类

函数式 API 面向对象 API

异常检测

函数式 API 面向对象 API

👥 谁应该使用 PyCaret?

PyCaret 是一个开源库,任何人都可以使用。在我们看来,PyCaret 的理想目标用户群体是:

  • 希望提高工作效率的资深数据科学家。
  • 偏好低代码机器学习解决方案的平民数据科学家。
  • 希望快速构建原型的数据科学从业者。
  • 数据科学和机器学习的学生及爱好者。

🎮 在 GPU 上训练

要在 GPU 上训练模型,只需在 setup 函数中传入 use_gpu = True 即可。API 的使用方式无需更改;不过,在某些情况下,需要安装额外的库。以下模型可以在 GPU 上训练:

  • 极端梯度提升
  • CatBoost
  • Light Gradient Boosting Machine 需要 GPU 安装
  • 逻辑回归、岭分类器、随机森林、K 近邻分类器、K 近邻回归、支持向量机、线性回归、岭回归、Lasso 回归 需要 cuML >= 0.15

🖥️ PyCaret Intel sklearnex 支持

您可以为机器学习算法应用 Intel 优化,从而加速您的工作流程。要使用 Intel 优化来训练模型,请使用 sklearnex 引擎。API 的使用方式不变,但需要安装 Intel sklearnex:

pip install scikit-learn-intelex

🤝 贡献者

📝 许可证

PyCaret 完全是免费且开源的,采用 MIT 许可证授权。

ℹ️ 更多信息

重要链接 描述
:star: [教程] 由核心开发者开发并维护的教程
:clipboard: [示例笔记本] 社区创建的示例笔记本
:orange_book: [博客] PyCaret 创建者的官方博客
:books: [文档] API 文档
:tv: [视频] 视频资源
✈️ [速查表] 社区速查表
:loudspeaker: [讨论] GitHub 上的社区讨论版
:hammer_and_wrench: [发布说明] 发布说明

版本历史

3.3.22024/04/28
3.3.12024/04/16
3.3.02024/02/20
3.2.02023/11/12
3.1.02023/09/11
3.0.42023/07/02
3.0.32023/06/26
3.0.22023/05/18
3.0.12023/05/14
3.0.02023/03/18
2.3.102022/04/10
2.3.92022/03/27
2.3.82022/03/21
2.3.72022/03/20
2.3.62022/01/12
2.3.52021/11/19
2.3.42021/09/23
2.2.3.12021/07/25
2.3.22021/07/07
2.3.12021/04/28

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

158.6k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架