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即可充当…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
