PyCaret:低代码自动化的机器学习工具
PyCaret简介
随着ChatGPT和AI画图的大火,机器学习作为实现人工智能的底层技术被大众越来越多的认知,基于机器学习的产品也越来越多。传统的机器学习实现方法需要较强的编程能力和数据科学基础,这使得想零基础尝试机器学习变得非常困难。

机器学习、深度学习和人工智能(AI)的关系
PyCaret 是 Python 中的开源低代码机器学习库,可自动执行机器学习工作流程。它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高您的工作效率。与其他开源机器学习库相比,PyCaret 是一个高度封装的低代码库,可以用几行代码代替数百行代码。这使得机器学习实验呈指数级快速和高效。
PyCaret的设计和简单性受到了公民数据科学家这一新兴角色的启发,这是Gartner首次使用的术语。公民数据科学家是超级用户,他们可以执行简单和适度复杂的分析任务,而这些任务以前需要更多的专业知识。经验丰富的数据科学家通常很难找到,而且雇佣成本也很高,但公民数据科学家可以成为缓解这一差距并解决商业环境中与数据相关的挑战的有效途径。

Pycaret的主要功能,多数可以以极少的代码自动化实现
Pycaret的特色
低代码量
与其他开源机器学习库相比,PyCaret是一个替代的低代码库,可以用很少的单词替换数百行代码。这使得机器学习实验能以指数级的速度和效率进行。PyCaret本质上是一个Python包装器,围绕着几个机器学习库和框架,如scikit learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray等等。除模型选择外,调参,数据预处理等等也可以通过同样的方式进行处理。
在常规的机器学习方法中,如果想要比较多个机器学习算法的准确率和耗时等信息,需要挨个进行调用或编写,然后人工进行对比,而在PyCaret中仅需一行代码即可完成。

利用Pycaret一行代码测试大量机器学习算法和模型的准确率和耗时请看
跨环境使用
PyCaret 是 Python 中的部署就绪库,这意味着在 ML 实验中执行的所有步骤都可以使用可重现并保证生产的管道重现。管道可以保存为可跨环境传输的二进制文件格式。

Pycaret训练的模型可以保存为二进制管道
无缝衔接主流数据平台
PyCaret 及其机器学习功能与支持 Python 的环境无缝集成,例如 Microsoft Power BI、Tableau、Alteryx 和 KNIME 等。这为这些 BI 平台的用户提供了巨大的力量,他们现在可以将 PyCaret 集成到他们现有的工作流中,并轻松添加一层机器学习。
PyCaret适用人群
- 希望提高生产力的经验丰富的数据科学家。
- 喜欢低代码机器学习解决方案的公民数据科学家。
- 想要构建快速原型的数据科学专业人士。
- 数据科学和机器学习的学生和爱好者。
安装 PyCaret
准备工作
PyCaret在以下64位系统上得到测试和支持,因此,安装前需要先准备好环境支持。
1.系统环境:Windows7+/unbantu 16.04+
2.编程环境:Python3.6-3.8/Python 3.9 for Ubuntu only
最简安装
最简单安装方式是使用Python的pip包管理器安装PyCaret,只需要一行代码:
pip install pycaret
虚拟环境安装
安装PyCaret是在PyCaret中构建第一个机器学习模型的第一步。由于PyCaret会自动安装所有硬依赖项,为了避免与其他软件包发生潜在冲突,强烈建议使用虚拟环境,例如conda环境。使用隔离环境,可以独立于以前安装的任何Python包安装特定版本的pycaret及其依赖项。
# 创建conda环境
conda create --name yourenvname python=3.8# 激活上一行创建的环境
conda activate yourenvname# 安装Pycaret
pip install pycaret# 创建一个笔记本内核并调用虚拟环境
python -m ipykernel install --user --name yourenvname --display-name "display-name"
PyCaret适用的问题
分类问题
分类问题指的是可以将具有不同特征的元素分类成组的一类的问题。其目标是预测离散的、无序的分类标签。一些常见的用例包括预测客户违约(是或不是),预测客户流失(客户将离开或留下),发现的疾病(预后积极或消极),花的类型等。

图中分界线尝试将红点和黑点分开,找到这种分界线是就是一种分类问题
回归问题
回归问题是指将用于估计因变量(通常称为 "结果变量",或 "目标")和一个或多个自变量(通常称为 "特征","预测因素",或 "协变量")之间的关系。回归的目的是预测连续值,如预测销售金额、预测数量、预测温度等。

图中红线对点进行了回归,如何找到最适合的红线是一个回归问题
聚类问题
聚类问题是将一组对象分组,使同一组(也称为聚类)的对象比其他组的对象更相似。这包括找到共同表达的酶或者适合同一个环境的植物等。

PyCaret解决聚类问题的可视化呈现,不同颜色代表不同聚类
异常检测问题
异常检测是一种用于识别罕见的项目、事件或观察结果的问题,这些项目、事件或观察结果与大多数数据有很大的不同,会引起人们的怀疑。通常情况下,异常项目将转化为某种问题,如银行欺诈、结构缺陷、医疗问题或某些少见的错误。

PyCaret解决异常检测问题的可视化呈现,黄色为异常数据
主题模型问题
自然语言处理中有一类用来分析文本数据,产生可以用于训练文本数据的主题模型。主题模型是一种统计模型,用于发现文档集合中的抽象主题。

词云就是这种主题模型的一种表现方式
关联规则挖掘问题
这类问题可以理解为发现数据集中变量之间的关系。它旨在使用一些不同的度量来识别在数据库中发现的强规则。

图中所示为数据之间的包含关系
时间序列预测
时间序列预测是基于按时间顺序索引(或列出或绘制)的一系列数据点,预测在后续时间的数据点,包括海洋潮汐的高度、太阳黑子的数量和道琼斯工业平均指数的每日收盘值的预测。

图中黑色为已有数据,蓝色为预测数据
一行代码实现多模型比较
比较不同模型在同一任务中的表现一直是机器学习中需要得到关注的问题,这一问题在PyCaret中可以通过一行代码得到解决,这可以大大加快实验机器学习模型的速度。
best = compare_models()

用多种指标描述不同模型在同一时间序列预测问题的表现
多种可视化方式分析模型和数据
在训练完成模型后,PyCaret集成了多种用于评价模型、数据和特征重要性的可视化方式,秩序一行代码即可实现。
evaluate_model(best)

对回归模型、所用数据和特征重要性的可视化呈现
一行代码进行参数调优
对参数进行调优在机器学习模型训练中占有较大工作量,Pycaret可以选择不同迭代次数、参数搜索方式等进行参数优化,而且仅需一行代码即可实现。
tuned_dt = tune_model(dt, n_iter = 50)

参数调优结果
一行代码进行模型融合
blender = blend_models([lr, dt, knn])

模型融合结果
结语
PyCaret是我用过效率最高的机器学习工具,它在高度封装和高度自动化的情况下较好的保留了可配置性。我认为,PyCaret端到端的属性适合刚刚入门机器学习领域或者想要应用已有的机器学习模型和算法处理实际问题的人们。
相关文章:
PyCaret:低代码自动化的机器学习工具
PyCaret简介 随着ChatGPT和AI画图的大火,机器学习作为实现人工智能的底层技术被大众越来越多的认知,基于机器学习的产品也越来越多。传统的机器学习实现方法需要较强的编程能力和数据科学基础,这使得想零基础尝试机器学习变得非常困难。 机器…...
【Hello Network】网络编程套接字(三)
作者:小萌新 专栏:网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:简单介绍下各种类型的Tcp协议 各种类型Tcp服务器 多进程版的TCP网络程序捕捉SIGCHLD信号让孙子进程执行任务 多线程TCP网络程序线程池版多线程TCP网络…...
3.4 只读存储器
学习目标: 学习只读存储器(ROM)的目标可以包括以下内容: 了解ROM的基本概念、分类以及适用场景。掌握ROM的电路原理、逻辑结构和读取方式。熟悉ROM的编程方式和编程工具。理解ROM与EPROM、EEPROM和闪存的区别和联系。了解ROM在计…...
从后端开发转大数据开发怎么样?
很多做后端的小伙伴,在某一个瞬间,都想转行大数据,那这种想法可行嘛? 转大数据的最初原因很简单,就是好几个同事都转了,他们的收入瞬间提高了好多,于是在同事的内推我也就跟着转了,…...
编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?
重写push与replace方法 编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误? 路由跳转有俩种形式:声明式导航,编程式导航 声明式导航没有这类问题的,因为…...
AppArmor无内核及系统日志的问题及解决
在AppArmor中,正常情况下,一旦违反了规则,是能够在内核及系统日志中看到相关信息的。比如:在Ubuntu下正常产生的日志信息(示例)如下: kernel: [140321.028000] audit(1191433716.584:1578): t…...
本地更改配置ssh密钥和更改github网址
配置 SSH 密钥以进行身份验证,可以遵循以下步骤: 生成SSH密钥 打开 Git Bash 终端 在 Windows 上,可以打开 Git Bash 终端。通常,可以在开始菜单中搜索 Git Bash 并启动它。一旦打开了 Git Bash 终端,将进入一个基于…...
MATLAB函数封装2:QT调用封装函数
在利用MATLAB进行封装函数之后,最主要的目的是对函数进行调用,能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后,在QT中添加动态链接库,就可以实现函数的调用过程,这个过程相对简…...
AJAX和JSON
1、什么是AJAX? AJAX(ASynchronous JavaScript And XML)异步的JavaScript 和 XML; 由Jesse James Garrett 在他的文章AJAX:A New Approoch to Web Applications中首次提出。 ajax(Web数据交互方式)_百…...
源码:SharedPreferences分析
一、持久化方式: DataStore:稳定性 MMKV:效率 SharedPreferneces 区别: 功能MMKVJetpack DataStoreSharedPreferneces是否阻塞主线程否否是是否线程安全是 是 是是否支持跨进程是否否是否类型…...
大二一个学期学这么点内容,没有概念,只有实操
如何查看所有的数据库: Show databases; 如何进入某个数据库: use xxx; 如何新进数据库: Create database jx; 如何删除数据库: Drop database jx; 如何查看所有的表格: Show tables; 如何创建数据表…...
AppWeb 身份验证绕过漏洞 (CVE-2018-8715)
当前漏洞环境部署在vulhub,当前验证环境为vulhub靶场(所有实验均为虚拟环境) 实验环境:攻击机----kali 靶机:centos7 1、进入靶场,启动环境 2、访问AppWeb控制台:http://your-ip:8080 使用用户名、密码adm…...
为什么监控摄像头画面不如手机拍摄视频画面清晰
一天和一个做餐饮的朋友吃饭聊天,他提出一个问题,几百块的监控摄像头就是纯粹做监控功能 ,视频拍摄的画面为什么还没有几百元的手机拍摄的视频画面清晰,对于此特意查了一下技术资料,整理一下,以备下次再详细…...
EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读
2022版EU GMP附录一与关键区域空气微生物取样方案疑问解答 3月30日2022版EU GMP附录一与关键区域空气微生物取样方案网络研讨会期间,我们收集到了部分参会听众针对该主题所提出的常见问题。根据以下这些问题,lighthouse微生物应用专家将来为您答疑解惑。…...
【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…...
快速响应 智慧应急|大势智慧亮相第三届武汉国际安全应急博览会
4月26日至4月28日,第三届武汉国际安全应急博览会(后简称“应博会”)在湖北武汉顺利举办。本次展会,大势智慧以实时三维重建能力为核心,提供各类应急场景的技术支撑,助力应急处置和救援等方面的应用。 展会…...
MySQL数据库——MySQL DELETE:删除数据
在 MySQL 中,可以使用 DELETE 语句来删除表的一行或者多行数据。 删除单个表中的数据 使用 DELETE 语句从单个表中删除数据,语法格式为: DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句] 语法说明如下: …...
管家婆安装导致电脑蓝屏问题解决方案
安装完管家婆后,电脑蓝屏,重启还是蓝屏,这该怎么办? 导致的原因:因加密狗驱动不适配于Windows10系统,导致电脑蓝屏 修复方案:进入电脑安全模式(怎么进入问度娘)&#…...
Compiler Lab1- 自制词法分析器
由于编译原理课的Lab1为自制词法分析器,所以笔者用C实现了一个极简的C语言词法分析器,用于分析C语言源代码。它可以处理关键字、标识符、整数、实数、浮点数的科学计数法表示、运算符、分隔符、字符串字面量、字符字面量、注释和预处理指令。请注意&…...
构建API的战斗——与来自Kong的Marco Palladino的问答
Kong是一个开源的API网关,可用于管理、安全性和监视微服务和API的所有流量。以下是Kong官方网站的介绍: Kong是一个云原生、快速、可扩展的分布式微服务抽象层(也称为API网关、API中枢、API发布器或API服务的网关)。 Kong即可充当…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
