文档
  • PyCaret 3.0
  • 开始
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放与变换
      • 特征工程
      • 特征选择
      • 其他设置参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 发布 PyCaret 1.0
      • 发布 PyCaret 2.0
      • 关于 PyCaret 你可能不知道的 5 件事
      • 构建和部署你的第一个机器学习 Web 应用
      • 使用 PyCaret 在 Power BI 中构建自己的 AutoML
      • 在 Google Kubernetes 上部署机器学习流水线
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 在 Power BI 中进行异常检测
      • 在 Google Kubernetes 上部署 ML App
      • 在 GKE 上部署机器学习流水线
      • 在 AWS Fargate 上部署机器学习流水线
      • 使用 Docker 在云端部署机器学习流水线
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 ONNX Runtime 在边缘部署 PyCaret 模型
      • GitHub 是你所需的最棒的 AutoML
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 和 MLflow 实现简单的 MLOps
      • 使用 PyCaret 在 Power BI 中进行聚类分析
      • 使用 PyCaret 在 Alteryx 中进行机器学习
      • 使用 PyCaret 在 KNIME 中进行机器学习
      • 使用 PyCaret 在 SQL 中进行机器学习 第一部分
      • 使用 PyCaret 在 Power BI 中进行机器学习
      • 使用 PyCaret 在 Tableau 中进行机器学习
      • 使用 PyCaret 进行多元时间序列预测
      • 使用 PyCaret 预测客户流失
      • 使用 PyCaret 预测潜在客户评分(正确的方法)
      • 使用 PyCaret 在 Python 中进行 NLP 文本分类
      • 使用 PyCaret 预测潜在客户评分(正确的方法)
      • 使用 PyCaret 预测黄金价格暴跌
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 功能摘要
      • 使用 PyCaret 将 ML 模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 提升你的 ML 能力
      • 时间序列 101 - 初学者指南
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret 回归进行时间序列预测
      • 使用 PyCaret 在 Power BI 中进行主题建模
      • 使用 PyCaret 编写和训练自定义 ML 模型
      • 使用 PyCaret 和 Streamlit 构建和部署 ML 应用
      • PyCaret 2.3.6 来了!了解新特性?
    • 📺视频
    • 🛩️速查表
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️发布说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗LinkedIn
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
在此页面上
  • 🚀 分类
  • 设置
  • 比较模型
  • 分析模型
  • 预测
  • 保存模型
  • 🚀 回归
  • 设置
  • 比较模型
  • 分析模型
  • 预测
  • 保存模型
  • 🚀 聚类
  • 设置
  • 创建模型
  • 分析模型
  • 分配模型
  • 预测
  • 保存模型
  • 🚀 异常检测
  • 设置
  • 创建模型
  • 分析模型
  • 分配模型
  • 预测
  • 保存模型
  • 🚀 时间序列
  • 设置
  • 比较模型
  • 分析模型
  • 预测
  • 保存模型

这有帮助吗?

  1. 开始

快速入门

立即上手:PyCaret 初学者指南

上一页安装下一页教程

上次更新时间 2 年前

这有帮助吗?

🚀 分类

PyCaret 的分类模块是一个监督机器学习模块,用于将元素分类到不同的组中。

目标是预测离散且无序的类别标签。一些常见的用例包括预测客户是否违约(是或否)、预测客户流失(客户会离开或留下)、预测疾病发现结果(阳性或阴性)。

此模块可用于二分类或多分类问题。

设置

此函数初始化训练环境并创建转换流水线。必须在执行任何其他函数之前调用 Setup 函数。它有两个必需参数:data 和 target。所有其他参数都是可选的。

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

PyCaret 3.0 有两种 API。你可以根据自己的偏好选择其中一种。功能和实验结果是一致的。

函数式 API

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

面向对象 API

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

比较模型

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

# functional API
best = compare_models()

# OOP API
best = s.compare_models()
print(best)

分析模型

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

# 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')

预测

此函数对数据进行评分并返回 prediction_label 和 prediction_score(预测类别的概率)。当 data 为 None 时,它在测试集上进行预测(在 setup 函数期间创建)。

# 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()

Score 表示预测类别的概率(不是正类的概率)。如果 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()

保存模型

# 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 函数。它有两个必需参数:data 和 target。所有其他参数都是可选的。

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

PyCaret 3.0 有两种 API。你可以根据自己的偏好选择其中一种。功能和实验结果是一致的。

函数式 API

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

面向对象 API

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

比较模型

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

# functional API
best = compare_models()

# OOP API
best = s.compare_models()
print(best)

分析模型

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

# functional API
evaluate_model(best)

# OOP API
s.evaluate_model(best)

evaluate_model 只能在 Notebook 中使用,因为它使用了 ipywidget。你也可以使用 plot_model 函数单独生成图表。

# 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')

预测

此函数使用训练好的模型预测 prediction_label。当 data 为 None 时,它在测试集上进行预测(在 setup 函数期间创建)。

# 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()

保存模型

# 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 函数。它只有一个必需参数:data。所有其他参数都是可选的。

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

PyCaret 3.0 有两种 API。你可以根据自己的偏好选择其中一种。功能和实验结果是一致的。

函数式 API

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

面向对象 API

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

创建模型

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

# functional API
kmeans = create_model('kmeans')

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

分析模型

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

# functional API
evaluate_model(kmeans)

# OOP API
s.evaluate_model(kmeans)

evaluate_model 只能在 Notebook 中使用,因为它使用了 ipywidget。你也可以使用 plot_model 函数单独生成图表。

# 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')

分配模型

此函数为训练数据分配聚类标签,给定一个已训练的模型。

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

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

预测

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

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

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

保存模型

# 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 函数。它只有一个必需参数:data。所有其他参数都是可选的。

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

PyCaret 3.0 有两种 API。你可以根据自己的偏好选择其中一种。功能和实验结果是一致的。

函数式 API

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

面向对象 API

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

创建模型

此函数训练一个无监督异常检测模型。可以使用 models 函数访问所有可用模型。

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

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

# OOP API
s.models()

分析模型

# 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')

分配模型

此函数为给定模型的数据集分配异常标签。(1 = 异常值,0 = 正常值)。

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

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

预测

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

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

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

保存模型

# 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')

PyCaret 3.0 有两种 API。你可以根据自己的偏好选择其中一种。功能和实验结果是一致的。

函数式 API

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

面向对象 API

from pycaret.time_series import TSForecastingExperiment
s = TSForecastingExperiment()

比较模型

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

# functional API
best = compare_models()

# OOP API
best = s.compare_models()

分析模型

# 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')

预测

# 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)

保存模型

# 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)
🚀
predict_model(iforest, data = data) 的输出
输出已截断
输出已截断