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即可充当…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...