程序员学长 | PyCaret,一个超强的 python 库

news/2024/7/14 22:13:37

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。

原文链接:PyCaret,一个超强的 python 库

今天给大家分享一个超强的 python 库,PyCaret。

https://github.com/pycaret/pycaret

简介

PyCaret 是一个开源的、低代码的 Python 机器学习库,可自动化机器学习工作流程。

它是一种端到端的机器学习和模型管理工具,可以成倍地加快实验周期并提高你的工作效率。

与其他开源机器学习库相比,PyCaret 是一个替代的低代码库,可以用几行代码替换数百行代码。这使得实验的速度和效率呈指数级增长。

PyCaret 本质上是多个机器学习库和框架的 Python 包装器,例如 scikit-learn、XGBoost、LightGBM、CatBoost、Optuna、Hyperopt、Ray 等。

PyCaret 的设计和简单性受到了公民数据科学家这一新兴角色的启发,该术语由 Gartner 首次使用。

公民数据科学家是高级用户,他们可以执行简单和中等复杂的分析任务,而这些任务以前需要更多的技术专业知识。

初体验

安装

你可以使用 Python 的 pip 包管理器安装 PyCaret。

pip install pycaret
快速入门

PyCaret 具有 「函数式API和面向对象的API」两种形式。

函数式API
# Classification Functional API Example# loading sample dataset
from pycaret.datasets import get_data
data = get_data('juice')# init setup
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)# model training and selection
best = compare_models()# evaluate trained model
evaluate_model(best)# predict on hold-out/test set
pred_holdout = predict_model(best)# predict on new data
new_data = data.copy().drop('Purchase', axis = 1)
predictions = predict_model(best, data = new_data)# save model
save_model(best, 'best_pipeline')
面向对象的API
# Classification OOP API Example# loading sample dataset
from pycaret.datasets import get_data
data = get_data('juice')# init setup
from pycaret.classification import ClassificationExperiment
s = ClassificationExperiment()
s.setup(data, target = 'Purchase', session_id = 123)# model training and selection
best = s.compare_models()# evaluate trained model
s.evaluate_model(best)# predict on hold-out/test set
pred_holdout = s.predict_model(best)# predict on new data
new_data = data.copy().drop('Purchase', axis = 1)
predictions = s.predict_model(best, data = new_data)# save model
s.save_model(best, 'best_pipeline')
使用面向对象API实现时间序列分析

这里使用的数据集是 pycaret 自带的数据集 airline

# load dataset
from pycaret.datasets import get_data
data = get_data('airline')
data

 接着看:

# init setup
from pycaret.time_series import TSForecastingExperiment
s = TSForecastingExperiment()
s.setup(data,fh = 3,session_id = 123,n_jobs=1)
best=s.compare_models()

如下图所示,可以看到 STLF 模型的效果最好,下面我们来看一下预测的效果。

s.plot_model(best,plot = 'forecast')

# forecast plot 36 days out in future
s.plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 36})

在 GPU 上训练

要想在 GPU 上训练模型,只需在 setup 函数中传递 use_gpu = True 即可。

API 的使用没有发生变化;但是,在某些情况下,必须安装额外的库。

你可以在 GPU 上训练以下模型:

  • Extreme Gradient Boosting

  • CatBoost

  • Logistic 回归、岭分类器、随机森林、K 邻域分类器、K 邻域回归器、支持向量机、线性回归、岭回归、套索回归。

  • Light Gradient Boosting Machine

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。


http://www.mrgr.cn/p/52577608

相关文章

禁用windows的语音识别快捷键win+ctrl+s

win11组合键winctrls会弹出语音识别提示,即使到设置里禁用了语音识别也没用 解决办法:安装PowerToys,通过“键盘管理器”-“重新映射快捷键”禁用 PowerToys是微软自己的工具,不用担心安全问题,下载地址:h…

基于Transformer的端到端的目标检测 | 读论文

本文正在参加 人工智能创作者扶持计划 提及到计算机视觉的目标检测,我们一般会最先想到卷积神经网络(CNN),因为这算是目标检测领域的开山之作了,在很长的一段时间里人们都折服于卷积神经网络在图像处理领域的优势&…

Python 数据挖掘

数据挖掘基础数据挖掘:这种从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,就是数据挖掘;它是利用各种分析工具在大量数据中寻找其规…

Python Selenium+cookie+XPATH爬取数据

以某科研基金信息平台为例,写了一个基于selenium的web自动化爬虫。不带验证码防反爬以及代理ip池,是最基础的自动化工具爬虫。 一、首先,此平台需要登录后才能正常访问,否则数据不全,因此需要登录后获取cookie,以便selenium能够以登录状态运行 1.F12打开开发者工具,找到…

Postman使用教程【项目实战】

目录 引言软件下载及安装项目开发流程1. 创建项目2. 创建集合(理解为:功能模块)3. 设置环境变量,4. 创建请求5. 测试脚本6. 响应分析7. 共享与协作 结语 引言 Postman 是一款功能强大的 API 开发工具,它可以帮助开发者测试、开发和调试 API。…

个人赛补题

round 1范围很小用暴力+贪心,左右枚举,先拿再放。尽量放小的所以需要排下序 include include "map" include "algorithm" include "cmath" include "vector" include "set" include "queue" define int long lo…

Linux驱动开发-03字符设备驱动框架搭建

一、字符设备驱动开发步骤 驱动模块的加载和卸载(将驱动编译模块,insmod加载驱动运行)字符设备注册与注销(我们的驱动实际上是去操作底层的硬件,所以需要向系统注册一个设备,告诉Linux系统,我有…

【React】基础数据回填--useForm与setFieldsValue详解

相关属性 1.form 2.setFieldsValue 代码 import{Form }from"antd";const Publish =

观《深入理解C#》有感---泛型五种约束

一、引用类型约束 class Sample<T> where T : class类型实参可以是: 任何类: Sample<string> 接口: Sample<IDisposable> 数组: Sample<int[]> 委托: Sample<Action>二、值类型约束 class Sample<T> where T : struct类型实参可以是:…

JavaWeb__正则表达式

目录 1. 正则表达式简介2. 正则表达式体验2.1 验证2.2 匹配2.3 替换2.4 全文查找2.5 忽略大小写2.6 元字符使用2.7 字符集合的使用2.8 常用正则表达式 1. 正则表达式简介 正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换&#xff0c;是对字符串执行…

vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)

文章目录 1.创建vuevite项目2.安装 Cesium2.1 安装cesium2.2 安装vite-plugin-cesium插件&#xff08;非必选&#xff09;2.3 新建组件页面map.vue2.4 加载地图 3.完成效果图 1.创建vuevite项目 打开cmd窗口执行以下命令&#xff1a;cesium-vue-app是你的项目名称 npm create…

2024/7/10 笔记

CF1693F对0,1个数相等的0,1串进行排序一定是最优的贪心策略。 我们把0记为1,1记为-1.求前缀和如果1的个数大于0的个数,那么就把整个串翻转然后取反,推一下就可以知道结果不会变。CF1646F这题我写了半天发现假了; 一开始看了样例很容易想到,每个人每轮都把自己不需要的牌往…

G65 线性基+贪心法 P4570 [BJWC2011] 元素

视频链接: P4570 [BJWC2011] 元素 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 线性基 O(60*n) #include <iostream> #include <cstring> #include <algorithm> using namespace std;#define LL long long const LL N=1005; int n,m; struct node{LL …

一套基于 Ant Design 和 Blazor 的开源企业级组件库

前言 今天大姚给大家分享一套基于Ant Design和Blazor的开源(MIT License)、免费的企业级组件库(喜欢Ant Design风格的同学推荐使用):Ant Design Blazor。项目特性提炼自企业级中后台产品的交互语言和视觉风格。 开箱即用的高质量 Blazor 组件,可在多种托管方式共享。 支持…

Linux-shell编程入门基础

本篇文章就是一个过渡学习的,先入门shell脚本,由于作者有编程基础,所以有些解释的比较少。由于现在还在努力学习中,以后等本散修进阶了之后再写进阶的、与网络安全更加贴合的shell编程目录前言Shell编程bash特性shell作用域变量环境变量$特殊变量$特殊状态变量$特殊符号(很…

Global Mapper:地理信息的温柔探索

引言 在这纷繁复杂的世界里&#xff0c;地理信息系统&#xff08;GIS&#xff09;如同一把利器&#xff0c;帮助我们剖析、理解和改造这个世界。而在众多GIS软件中&#xff0c;Global Mapper无疑是其中的佼佼者。作为一款功能全面且易于使用的GIS应用程序&#xff0c;Global M…

HashMap和ConcurrentHashMap的底层实现原理

(1)HashMap底层实现原理 在 JDK 1.7 版本之前, HashMap 数据结构是数组和链表,HashMap 通过哈希算法将元素的键 (Key) 映射到数组中的槽位 (Bucket)。如果多个键映射到同一个槽位,它们会以链表的形式存储在同一个槽位上,因为链表的查询时间是 O(n),所以冲突很严重,一个…

第三期书生大模型实战营 第1关 Linux 基础知识

第三期书生大模型实战营 第1关 Linux 基础知识 第三期书生大模型实战营 第1关 Linux 基础知识InternStudio开发机创建SSH密钥配置通过本地客户端连接远程服务器通过本地VSCode连接远程服务器运行一个Python程序总结 第三期书生大模型实战营 第1关 Linux 基础知识 Hello大家好&a…

【Azure Key Vault】关于Key Vault使用的几个问题

问题一:Key Vault 和 Event Grid 通过将 Key Vault 与事件网格集成,可以在密钥保管库中存储的机密的状态发生更改时收到通知。 状态更改将定义为即将到期的机密(到期前 30 天)、已过期的机密或具有可用新版本的机密。 支持所有三种机密类型(密钥、证书和机密)的通知。无法…