PyCaret初学者指南

🚀分类

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)

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值