PyCaret初学者指南

news/2024/5/17 6:22:17

🚀分类

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://lihuaxi.xjx100.cn/news/1217704.html

相关文章

Java网络开发(Tomcat)—— 用Jsp语法 到 实现数据的分页展示 到 只看自己的数据 + 模糊查询 迭代升级

目录 引出0.jsp的使用和语法 & 报错和解决(1)后端共享,前端获取 ${pageInfo}(2)如果想获取pageInfo这个对象的某个属性值,用 点 属性 ${pageInfo.pages}(3)如果想回传&#xff…

idea基础配置笔记

这里只说最基础的几个。 jdk file | project structure | sdks ,添加jdk地址即可。 project 这里也设置下。 全局jdk file | new projects setup | structure | sdks。 project 这里也设置下。 maven file | settings | 搜索maven就可以找到。 maven home pat…

面试银行测试岗,面试官问你网上银行转账是怎么测的,设计一下测试用例?你知道吗

目录 前言 1、网上银行转账是怎么测的,设计一下测试用例回答思路: 2.测试工作的流程?缺陷状态有什么?设计测试用例有几种方法? 3在项目中到的经典BUG是什么? 4、定期存款到期自动转存该怎么测? 5、登录功能如何设计测试用例?功能测试(FunctionTest) 6、…

基于simulink仿真机械手将负载从一个灰色圆柱形平台移动到另一个平台

一、前言 此示例说明了在 Simulink 3D 动画™模型中使用全局坐标。全局坐标可以在模型中以多种方式用于对象跟踪和操作、简单的碰撞检测、触觉效果模拟等。 二、示例 虚拟世界中对象的全局坐标可通过VR源块获得。对于场景中的每个变换,VR 源块的“参数”对话框中的树…

备战金九银十:1200道Java面试真题合集,助你搞定面试官

不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。 运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家…

有趣的小实验:四种语言搞定“超超超难”剑桥面试数学题

概览 如上图所示,这是一道貌似“超超超难”(作者用了 4 个 Super)的数学题,出自剑桥大学的面试环节。 说实话,现在的我已“不可能”通过纸笔计算得出这个问题的解了。 不过,如果剑桥面试官允许我们带电脑…

测试工程师该何去何从?写给30+岁的测试工程师!

前言: 软件测试是为了发现程序中的错误而执行程序的过程。 通俗的说,软件测试需要在发布软件之前,尽可能的找软件的错误,尽量避免在发布之后给用户带来不好的体验,并要满足用户使用的需求。 首先今年行情肯定比去年好…

如何卸载MySQL数据库以及删除所有有关信息

目录 前言 第一步 卸载mysql程序 第二步 删除安装目录的mysql项目 第三步 删除MySQL的相关注册表 第四步 删除C盘下的 C:\ProgramData\MySQL所有的文件 第五步 删除 C:\Documents and Settings\All Users\Application Data\MySQL 下的文件夹 第六步 重启电脑 尾语 前言…