PyCaret初学者指南

news2025/1/23 6:00:16

🚀分类

PyCaret的分类模块是一个监督机器学习模块,用于将元素分类到组中。
目标是预测离散和无序的类别标签。一些常见的用例包括预测客户违约(是或否)、预测客户流失(客户将离开或留下)、发现疾病(阳性或阴性)。
该模块可用于二进制或多类问题。

setup

此函数初始化训练环境并创建转换管道。执行任何其他函数之前必须调用设置函数。它需要两个必需的参数:数据和目标。所有其他参数都是可选的。

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

在这里插入图片描述
PyCaret 3.0有两个API。您可以根据自己的喜好选择其中之一。实验结果与功能测试结果一致。

Functional API

from pycaret.classification import *
s = setup(data, target = 'Class variable', session_id = 123)

在这里插入图片描述
OOP API

from pycaret.classification import ClassificationExperiment
s = ClassificationExperiment()
s.setup(data, target = 'Class variable', session_id = 123)

在这里插入图片描述

比较模型(Compare Models)

此函数使用交叉验证为模型库中可用的所有估计量定型并评估其性能。该函数的输出是一个评分网格,其中包含平均交叉验证分数。可以使用get_metrics函数访问CV期间评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。

# functional API
best = compare_models()

# OOP API
best = s.compare_models()

在这里插入图片描述

print(best)

在这里插入图片描述

分析模型(Analyze Model)

该函数分析训练模型在测试集上的性能。在某些情况下,可能需要重新训练模型。

# functional API
evaluate_model(best)

# OOP API
s.evaluate_model(best)

在这里插入图片描述
evaluate_model只能在Notebook中使用,因为它使用ipywidget。也可以使用plot_model函数单独生成图。

# functional API
plot_model(best, plot = 'auc')

# OOP API
s.plot_model(best, plot = 'auc')

在这里插入图片描述

# functional API
plot_model(best, plot = 'confusion_matrix')

# OOP API
s.plot_model(best, plot = 'confusion_matrix')

在这里插入图片描述

预测(Predictions)

此函数对数据进行评分,并返回预测类的prediction_label和prediction_score概率。当数据为“无”时,它预测测试集(在设置功能期间创建)上的标签和分数。

# functional API
predict_model(best)

# OOP API
s.predict_model(best)

在这里插入图片描述
在测试集上计算评估度量。第二个输出是pd.DataFrame,其中包含对测试集的预测(请参见最后两列)。要在看不见的(新的)数据集上生成标签,只需在predict_model函数下的data参数中传递数据集。

# functional API
predictions = predict_model(best, data=data)
predictions.head()

# OOP API
predictions = s.predict_model(best, data=data)
predictions.head()

在这里插入图片描述
注意: 分数意味着预测类的概率(不是正类)。如果prediction_label为0并且prediction_score为0.90,则这意味着类0的概率为90%。如果你想看到两个类的概率,只需在predict_model函数中传递raw_score=True。

# functional API
predictions = predict_model(best, data=data, raw_score=True)
predictions.head()

# OOP API
predictions = s.predict_model(best, data=data, raw_score=True)
predictions.head()

在这里插入图片描述

保存模型(Save the model)

# functional API
save_model(best, 'my_best_pipeline')

# OOP API
s.save_model(best, 'my_best_pipeline')

在这里插入图片描述
要将模型加载回环境中,请执行以下操作:

# functional API
loaded_model = load_model('my_best_pipeline')
print(loaded_model)

# OOP API
loaded_model = s.load_model('my_best_pipeline')
print(loaded_model)

在这里插入图片描述

🚀 回归

PyCaret的回归模块是一个有监督的机器学习模块,用于估计因变量(通常称为"结果变量"或"目标")与一个或多个自变量(通常称为"特征"、“预测因子"或"协变量”)之间的关系。
回归的目的是预测连续值,如预测销售额、预测数量、预测温度等。

Setup

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

在这里插入图片描述
Functional API

from pycaret.regression import *
s = setup(data, target = 'charges', session_id = 123)

在这里插入图片描述
OOP API

from pycaret.regression import RegressionExperiment
s = RegressionExperiment()
s.setup(data, target = 'charges', session_id = 123)

在这里插入图片描述

比较模型(Compare Models)

# functional API
best = compare_models()

# OOP API
best = s.compare_models()

在这里插入图片描述

print(best)

在这里插入图片描述

分析模型(Analyze Model)

# functional API
evaluate_model(best)

# OOP API
s.evaluate_model(best)

在这里插入图片描述

# functional API
plot_model(best, plot = 'residuals')

# OOP API
s.plot_model(best, plot = 'residuals')

在这里插入图片描述

# functional API
plot_model(best, plot = 'feature')

# OOP API
s.plot_model(best, plot = 'feature')

在这里插入图片描述

预测(Predictions)

# functional API
predict_model(best)

# OOP API
s.predict_model(best)

在这里插入图片描述

# functional API
predictions = predict_model(best, data=data)
predictions.head()

# OOP API
predictions = s.predict_model(best, data=data)
predictions.head()

在这里插入图片描述

保存模型(Save the model)

# functional API
save_model(best, 'my_best_pipeline')

# OOP API
s.save_model(best, 'my_best_pipeline')

在这里插入图片描述
加载模型:

# functional API
loaded_model = load_model('my_best_pipeline')
print(loaded_model)

# OOP API
loaded_model = s.load_model('my_best_pipeline')
print(loaded_model)

在这里插入图片描述

🚀 聚类

PyCaret的聚类模块是一个无监督的机器学习模块,它执行对一组对象进行分组的任务,使得同一组(也称为集群)中的对象比其他组中的对象更相似。

Setup

此函数初始化训练环境并创建转换管道。执行任何其他函数之前必须调用设置函数。它只需要一个必需的参数:数据。所有其他参数都是可选的。

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

在这里插入图片描述
Functional API

from pycaret.clustering import *
s = setup(data, normalize = True)

在这里插入图片描述
OOP API

from pycaret.clustering import ClusteringExperiment
s = ClusteringExperiment()
s.setup(data, normalize = True)

在这里插入图片描述

创建模型(Create Model)

该函数训练和评估给定模型的性能。可以使用get_metrics函数访问评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。所有可用的模型都可以使用模型功能访问。

# functional API
kmeans = create_model('kmeans')

# OOP API
kmeans = s.create_model('kmeans')

在这里插入图片描述

print(kmeans)

在这里插入图片描述

分析模型(Analyze Model)

此函数分析训练模型的性能。

# functional API
evaluate_model(kmeans)

# OOP API
s.evaluate_model(kmeans)

在这里插入图片描述

# functional API
plot_model(kmeans, plot = 'elbow')

# OOP API
s.plot_model(kmeans, plot = 'elbow')

在这里插入图片描述

# functional API
plot_model(kmeans, plot = 'silhouette')

# OOP API
s.plot_model(kmeans, plot = 'silhouette')

在这里插入图片描述

指定模型(Assign Model)

该函数为给定训练模型的训练数据分配聚类标签。

# functional API
result = assign_model(kmeans)
result.head()

# OOP API
result = s.assign_model(kmeans)
result.head()

在这里插入图片描述

预测(Predictions)

该函数使用新的/未见过的数据集上的训练模型生成聚类标签。

# functional API
predictions = predict_model(kmeans, data = data)
predictions.head()

# OOP API
predictions = s.predict_model(kmeans, data = data)
predictions.head()

在这里插入图片描述

保存模型(Save the model)

# functional API
save_model(kmeans, 'kmeans_pipeline')

# OOP API
s.save_model(kmeans, 'kmeans_pipeline')

在这里插入图片描述
加载模型:

# functional API
loaded_model = load_model('kmeans_pipeline')
print(loaded_model)

# OOP API
loaded_model = s.load_model('kmeans_pipeline')
print(loaded_model)

在这里插入图片描述

🚀 异常检测

PyCaret的异常检测模块是一个无监督的机器学习模块,用于识别罕见的项目,事件或观察结果,这些项目,事件或观察结果与大多数数据明显不同,从而引起怀疑。
通常,异常项目将转化为某种问题,例如银行欺诈、结构缺陷、医疗问题或错误。

Setup

此函数初始化训练环境并创建转换管道。在执行任何其他函数之前,必须调用setup函数。它只需要一个必需的参数:数据。所有其他参数都是可选的。

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

在这里插入图片描述
Functional API

from pycaret.anomaly import *
s = setup(data, session_id = 123)

在这里插入图片描述
OOP API

from pycaret.anomaly import AnomalyExperiment
s = AnomalyExperiment()
s.setup(data, session_id = 123)

在这里插入图片描述

创建模型(Create Model)

该函数训练无监督异常检测模型。所有可用的模型都可以使用模型功能访问。

# functional API
iforest = create_model('iforest')
print(iforest)

# OOP API
iforest = s.create_model('iforest')
print(iforest)

在这里插入图片描述

# functional API
models()

# OOP API
s.models()

在这里插入图片描述

分析模型(Analyze Model)

# functional API
plot_model(iforest, plot = 'tsne')

# OOP API
s.plot_model(iforest, plot = 'tsne')

在这里插入图片描述

# functional API
plot_model(iforest, plot = 'umap')

# OOP API
s.plot_model(iforest, plot = 'umap')

在这里插入图片描述

指定模型(Assign Model)

该函数为给定模型的数据集分配异常标签。(1 =离群值,0 =内点)。

# functional API
result = assign_model(iforest)
result.head()

# OOP API
result = s.assign_model(iforest)
result.head()

在这里插入图片描述

预测(Predictions)

该函数使用新的/未见过的数据集上的训练模型生成异常标签。

# functional API
predictions = predict_model(iforest, data = data)
predictions.head()

# OOP API
predictions = s.predict_model(iforest, data = data)
predictions.head()

在这里插入图片描述

保存模型(Save the model)

# functional API
save_model(iforest, 'iforest_pipeline')

# OOP API
s.save_model(iforest, 'iforest_pipeline')

在这里插入图片描述
加载模型:

# functional API
loaded_model = load_model('iforest_pipeline')
print(loaded_model)

# OOP API
loaded_model = s.load_model('iforest_pipeline')
print(loaded_model)

在这里插入图片描述

🚀 时间序列

PyCaret时间序列模块是一个强大的工具,用于使用机器学习和经典统计技术分析和预测时间序列数据。该模块通过自动化从数据准备到模型部署的整个过程,使用户能够轻松执行复杂的时间序列预测任务。
PyCaret时间序列预测模块支持广泛的预测方法,如ARIMA,Prophet和LSTM。它还提供了各种功能来处理缺失值、时间序列分解和数据可视化。

Setup

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

在这里插入图片描述
Functional API

from pycaret.time_series import *
s = setup(data, fh = 3, fold = 5, session_id = 123)

在这里插入图片描述
OOP API

from pycaret.time_series import TSForecastingExperiment
s = TSForecastingExperiment()

在这里插入图片描述

比较模型(Compare Models)

此函数使用交叉验证为模型库中可用的所有估计量定型并评估其性能。该函数的输出是一个评分网格,其中包含平均交叉验证分数。可以使用get_metrics函数访问CV期间评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。

# functional API
best = compare_models()

# OOP API
best = s.compare_models()

在这里插入图片描述

分析模型(Analyze Model)

# functional API
plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 24})

# OOP API
s.plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 24})

在这里插入图片描述

# functional API
plot_model(best, plot = 'diagnostics')

# OOP API
s.plot_model(best, plot = 'diagnostics')

在这里插入图片描述

# functional API
plot_model(best, plot = 'insample')

# OOP API
s.plot_model(best, plot = 'insample')

在这里插入图片描述

预测(Predictions)

# functional API
final_best = finalize_model(best)
predict_model(best, fh = 24)

# OOP API
final_best = s.finalize_model(best)
s.predict_model(best, fh = 24)

在这里插入图片描述

保存模型(Save the model)

# functional API
save_model(final_best, 'my_final_best_model')

# OOP API
s.save_model(final_best, 'my_final_best_model')

在这里插入图片描述
加载模型:

# functional API
loaded_model = load_model('my_final_best_model')
print(loaded_model)

# OOP API
loaded_model = s.load_model('my_final_best_model')
print(loaded_model)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/630909.html

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

相关文章

深入理解深度学习——注意力机制(Attention Mechanism):基础知识

分类目录:《深入理解深度学习》总目录 相关文章: 注意力机制(AttentionMechanism):基础知识 注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归 注意力机制&#…

『DevOps』如何使用 Webhook 在 Jenkins 项目中实现自动构建

📣读完这篇文章里你能收获到 全文采用图文形式讲解在Jenkins配置Webhook实现代码推送时Jenkins自动构建感谢点赞收藏,避免下次找不到~ 文章目录 一、插件安装及配置1. 安装Generic Webhook Trigger Plugin2. 配置Webhook接收器 二、代码托管平台设置1. …

从新手到专家——我对于计算机科学专业的经验分享

在我的计算机科学专业学习之旅中,我遇到了无数的难题和挑战,但也因此积累了许多宝贵的经验。今天,我想要分享我在这个领域中的经验和看法,希望能够对即将进入计算机科学专业的后辈们有所帮助。 坚持动手实践 计算机科学是一个实…

Python调试串口设备Ortec 974A

Ortec 974A四通道100HMz计时/计数器的介绍在以下连接中: O​​​​​​​Ortec -- 974A 四通道100-MHz计时器/计数器_yuyuyuliang00的博客-CSDN博客 1、调试准备工作 1)一个串口服务器 根据Ortec 974A的串行通信参数,对串口服务器进行设…

【手撕MyBatis源码】MyBatis映射体系

文章目录 映射工具MetaObject基本功能底层结构获取属性值的流程 ResultMap结果集映射手动映射自动映射 嵌套子查询循环依赖懒加载原理内部结构Bean代理过程 联合查询和嵌套映射映射说明联合查询1对1查询映射1对多查询RowKey创建机制结果集解析流程 映射工具MetaObject 所谓映射…

【4】Midjourney常用技巧

【常用技巧】 本篇主要讲述MJ的常用技巧,围绕着一些常用指令的使用方法展开。 【版本切换】 在使用MJ时,最常用的技巧之一是版本切换。你可以在输入提示后添加"--v"加上相应的数字来实现版本切换。通常我默认使用MJ 4,偶尔会使用…

《精通特征工程》学习笔记(2):文本数据:扁平化、过滤和分块

1.元素袋:将自然文本转换为扁平向量 1.1 词袋 词袋将一个文本文档转换为一个扁平向量。之所以说这个向量是“扁平”的,是因为它 文本数据:扁平化、过滤和分块|35不包含原始文本中的任何结构。原始文本是一个单词序列&#xff0c…

【小沐学Python】Python实现绘画(海龟turtle)

文章目录 1、简介2、接口说明2.1 海龟动作2.1.1 移动和绘制2.1.2 获取海龟的状态 2.2 画笔控制2.2.1 绘图状态2.2.2 颜色控制2.2.3 填充2.2.4 更多绘图控制 2.3 TurtleScreen/Screen 方法2.3.1 窗口控制2.3.2 使用屏幕事件2.3.3 Screen 专有方法 3、示例测试3.1 Turtle star3.2…

[starrocks BE] 启动报错问题记录

文章目录 一、一句话描述二、问题表象1. starrocks_be的启动现象:2. starrocks_fe的启动现象 一、一句话描述 starrocks部署在没有AVX2指令集的机器上导致部署失败,解决方式更换支持AVX2指令集的机器。 官方说明: 二、问题表象 starrocks所…

Rocket面试(五)Rocketmq发生流量控制的情况有哪些?

在使用rocketmq过程中总能看见一下异常 [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 206ms, size of queue: 5这是因为Rocketmq出发了流量控制。 触发流量控制就是为了防止Broker压力过大挂掉。主要分为Broker流控,Consu…

全志V3S嵌入式驱动开发(开发环境再升级)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们陆陆续续开发了差不多有10个驱动,涉及到网口、串口、音频和视频等几个方面。但是整个开发的效率还是比较低的。每次开发调试的…

【MySQL 数据库】8、视图

目录 一、什么是视图二、视图语法三、检查选项(1) cascaded(级联)(2) local 四、视图的作用五、视图案例 一、什么是视图 视图(View)是一种虚拟存在的表视图中的数据并不在数据库中真实存在行和列数据来自定义视图的查询中使用的…

一棵有点自律的树——搜索二叉树

文章目录 💐专栏导读💐文章导读🌷搜索二叉树概念🌷二叉搜索树的构建🌺查找操作🌺插入操作🌺删除操作🌺遍历操作☘️测试 🏵️拓展——递归实现🍃递归查找&…

数据结构与算法·第9章【查找】

概念 关键字: 是数据元素(或记录)中某个数据项的值,用以标识(识别)一个数据元素(或记录)。若此关键字可以识别唯一的一个记录,则称之谓“主关键字”。若此关键字能识别…

2.3 利用MyBatis实现关联查询

一、创建数据库表 1、创建教师表 执行SQL语句,创建教师表t_teacher CREATE TABLE t_teacher ( t_id int(11) NOT NULL AUTO_INCREMENT, t_name varchar(20) DEFAULT NULL, PRIMARY KEY (t_id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8mb4;执行SQL语句…

使用OpenFlow和Ryu控制器实现网络交换机的软件定义网络(SDN)控制

使用OpenFlow和Ryu控制器实现网络交换机的软件定义网络(SDN)控制 (1)环境介绍 硬件环境:系统最低要求为2个CPU 、2 GB内存。 拓扑介绍:云平台具体安装拓扑如图5-4所示。 图5-4 云平台安装拓扑 搭建云平…

使用pipreqs生成requirements文件,并在服务器(矩池云)上通过requirements文件安装环境采坑记录

目录 问题描述问题1:问题2:发现问题问题解决 问题3:问题4:问题5:解决方案 关键!!!正常安装成功的操作流程备注1.我为何不在vscode的终端中装pipreqs包?2.在vscode终端中输…

Spring Cloud构建微服务架构:服务注册与发现

Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包…

面了一个来华为要22K的人,啥都不会,还不如找个应届生来代替···

最近有个在华为的朋友跟我分享了他面试招人的过程,感觉华为还是挺难进的。面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试。 其实,第一轮的电话面试除…

ASEMI代理英飞凌TLE7244SL功率电子开关,TLE7244SL参数

编辑-Z TLE7244SL参数描述: 型号:TLE7244SL 数字电源电压VDD:3.0 V ~ 5.5 V 模拟电源电压VDDA:4.5 V ~ 5.5 V 每个通道在Tj150C时的最大导通状态电阻RDS(ON,max):1.7 Ω 额定负载电流IL (nom):290 mA…