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

news2024/9/25 1:18:09

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

原文链接: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.coloradmin.cn/o/1915007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣 160相聚链表

注意 判断是否有交点 用while(A! B) 其中A A nullptr? headb:A->next;B同理 注意,while循环的退出条件是AB指针指向同一个,如果没有相交,仍然可以退出 当AB都为NULLPTR时退出

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

tiny-cuda-nn安装过程中的问题解决,附带pytorch3d安装【踩坑指南】 前言tiny-cuda-nn第一种下载方法:命令行安装tiny-cuda-nn第二种下载方法:本地编译 pytorch3d安装 前言 official repo: https://github.com/NVlabs/tiny-cuda-nn 该包可以显…

【记录】LaTex|LaTex 代码片段 Listings 添加带圆圈数字标号的箭头(又名 LaTex Tikz 库画箭头的简要介绍)

文章目录 前言注意事项1 Tikz 的调用方法:newcommand2 标号圆圈数字的添加方式:\large{\textcircled{\small{1}}}\normalsize3 快速掌握 Tikz 箭头写法:插入点相对位移标号node3.1 第一张图:插入点相对位移3.2 第二张图&#xff1…

(2024,测试时训练(TTT),线性注意力,RNN,嵌套循环)学习(在测试时学习):具有表达性隐藏状态的 RNN

Learning to (Learn at Test Time): RNNs with Expressive Hidden States 公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 方法 2.1 使用 TTT 更新隐藏状态 2.2 …

通勤数据:Comma2k19 数据集

A Commute in Data: The comma2k19 Dataset 通勤数据:Comma2k19 数据集 https://arxiv.org/pdf/1812.05752v1 Abstract— comma.ai presents comma2k19, a dataset of over 33 hours of commute in California’s 280 highway. This means 2019 segments, 1 minut…

节点流与处理流:深入解析Java中的IO流

节点流与处理流:深入解析Java中的IO流 1、节点流(Node Stream)1.1 定义1.2 好处1.3 示例 2、处理流(Processing Stream)2.1 定义2.2 好处2.3 创建特征2.4 示例 3、总结 💖The Begin💖点点关注&…

【多线程】线程同步--条件变量的原理及其使用

文章目录 前言线程同步的基本概念条件变量定义条件变量初始化条件变量销毁条件变量等待条件(重要)唤醒等待简单运用常见使用条件变量的格式 前言 线程同步意味着在多线程并发执行中,协调线程之间的执行顺序,以确保共享资源被正确…

(一)、python程序--模拟电脑鼠走迷宫

一、绪论 1、简介 电脑鼠走迷宫是一种比赛,制作实物电脑鼠小车在迷宫找目标点,用时最短者获胜。考验参赛选手软硬件结合的能力。 2、走迷宫模拟软件中已实现功能 1、点击迷宫墙壁可编辑迷宫,并且可保存和加载迷宫形状文件; 2、…

即时通讯平台项目测试(主页面)

http://8.130.98.211:8080/login.html项目访问地址:即时通讯平台http://8.130.98.211:8080/login.html 本篇文章进行项目主页面的测试。 在测试前需要先对待测内容进行分类,按照功能进行分类可以分为:个人信息设置、发送/接收消息、添加好友…

YOLO V8-Pose 【批量图片推理】 推理详解及部署实现

前言 在实际处理过程中,我们使用YOLO V8进行推理时,通常会针对一张图片进行推理。如果需要对多张图片进行推理,则可以通过一个循环来实现对图片逐张进行推理。 单张图片推理时,需要注意图片的尺寸必须是32的倍数,否则…

游戏AI的创造思路-技术基础-情感计算(1)

游戏中的AI也是可以和你打情感牌的哦,不要以为NPC是没有感情的,不过,不要和NPC打过多的情感牌,你会深陷其中无法自拔的~~~~~~ 目录 1. 情感计算算法定义 2. 发展历史 3. 公式和函数 3.1. 特征提取阶段 TF-IDF(词频…

算法学习笔记(8.1)-动态规划入门

目录 问题特性: 最优子结构: 代码示例:(动态规划最优子结构) 上述最小代价爬楼梯的运行过程: 代码示例: 无后效性: 解析: 具体过程图示如下: 具体的…

算法的复杂度

文章目录 一、算法的效率1、复杂度的概念2、复杂度的重要性 二、时间复杂度三、空间复杂度四、大O的渐进表示发五、计算复杂度案例1、计算Func1函数的复杂度2、计算Fun2的时间复杂度3、计算Func3的时间复杂度4、计算Func4的时间复杂度5、计算strchr的时间复杂度6、计算Func5的时…

解决Invalid or unsupported by client SCRAM mechanisms(dbeaver)

在用工具(dbeaver)链接Opengauss数据库的时候,报出标题的错误。原因为驱动不正确。 驱动下载地址:https://opengauss.org/zh/download/ 下载完的包 ,解压后,里面应该有两个jar 包,使用postgresql.jar dbe…

MT3056 交换序列

思路&#xff1a; 与题目 MT3055 交换排列 类似 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 1e4 10; int n, fa[N], b[N], d[N]; void init(int n) {for (int i 1; i < n; i)fa[i] i; } int find(int x) {return x fa[x] ?…

WebRTC批量发送消息API接口的特性有哪些?

WebRTC批量发送消息api接口怎么样&#xff1f;接口性能怎么用&#xff1f; WebRTC技术允许浏览器和移动应用进行实时通信。通过WebRTC&#xff0c;开发者可以构建视频、语音、数据共享等应用。AokSend将重点探讨WebRTC批量发送消息API接口的特性。 WebRTC批量发送消息API接口…

Qt/QML学习-PathView

QML学习 PathView例程视频讲解代码 main.qml import QtQuick 2.15 import QtQuick.Window 2.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")color: "black"PathView {id: pathViewanchors.fill: parentmodel: ListModel {List…

[Spring] SpringBoot基本配置与快速上手

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

AJAX-个人版2.0

AJAX&#xff08;Asynchronous Javascript And Xml&#xff09; 传统请求及缺点 传统的请求都有哪些&#xff1f; 直接在浏览器地址栏上输入URL。点击超链接提交form表单使用JS代码发送请求 window.open(url)document.location.href urlwindow.location.href url… 传统请…

面试总结-基础js

一、变量提升&#xff08;函数里面先形参赋值&#xff0c;再变量提升&#xff0c;最后执行代码&#xff09; 1、概念&#xff1a;当浏览器开辟出供代码执行的栈内存后&#xff0c;代码并没有自上而下立即执行&#xff0c;而是继续做了一些事情&#xff0c;把当前作用域所有带v…