文档
  • PyCaret 3.0
  • 入门
    • 💻安装
    • 🚀快速入门
    • ⭐教程
    • 📶模块
    • ⚙️数据预处理
      • 数据准备
      • 缩放和变换
      • 特征工程
      • 特征选择
      • 其他 setup 参数
    • 💡函数
      • 初始化
      • 训练
      • 优化
      • 分析
      • 部署
      • 其他
  • 学习 PYCARET
    • 📖博客
      • 宣布 PyCaret 1.0
      • 宣布 PyCaret 2.0
      • 关于 PyCaret 你不知道的 5 件事
      • 构建并部署你的第一个机器学习 Web 应用
      • 使用 PyCaret 在 Power BI 中构建你自己的 AutoML
      • 在 Google Kubernetes 上部署 ML Pipeline
      • 在 AWS Fargate 上部署 PyCaret 和 Streamlit
      • 使用 PyCaret 在 Power BI 中进行异常检测
      • 在 Google Kubernetes 上部署 ML 应用
      • 在 GKE 上部署机器学习 Pipeline
      • 在 AWS Fargate 上部署机器学习 Pipeline
      • 使用 Docker 在云端部署 ML Pipeline
      • 使用 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 预测 Lead Score (正确的方法)
      • 使用 PyCaret 在 Python 中进行 NLP 文本分类
      • 使用 PyCaret 预测 Lead Score (正确的方法)
      • 使用 PyCaret 预测黄金价格暴跌
      • 使用机器学习预测黄金价格
      • PyCaret 2.1 功能摘要
      • 使用 PyCaret 将 ML 模型部署到 SQL Server
      • 使用 PyCaret 和 Gradio 加速你的 ML
      • 时间序列 101 - 献给初学者
      • 使用 PyCaret 进行时间序列异常检测
      • 使用 PyCaret Regression 进行时间序列预测
      • 使用 PyCaret 在 Power BI 中进行主题建模
      • 使用 PyCaret 编写并训练自定义 ML 模型
      • 使用 PyCaret 和 Streamlit 构建并部署 ML 应用
      • PyCaret 2.3.6 来了!了解新功能?
    • 📺视频
    • 🛩️备忘单
    • ❓常见问题
    • 👩‍💻示例
  • 重要链接
    • 🛠️发布说明
    • ⚙️API 参考
    • 🙋 讨论
    • 📤问题
    • 👮 许可证
  • 媒体
    • 💻Slack
    • 📺YouTube
    • 🔗领英
    • 😾GitHub
    • 🔅Stack Overflow
由 GitBook 提供支持
在本页
  • predict_model
  • 保留集预测
  • 未见数据预测
  • 按类别划分的概率
  • 设置概率阈值
  • finalize_model
  • deploy_model
  • AWS
  • GCP
  • Azure
  • save_model
  • load_model
  • save_experiment
  • load_experiment
  • check_drift
  • convert_model
  • create_api
  • create_docker
  • create_app

这有帮助吗?

  1. 入门
  2. 函数

部署

PyCaret 中与 MLOps 和部署相关的函数

上一页分析下一页其他

最后更新于 2 年前

这有帮助吗?

predict_model

此函数使用训练好的模型生成标签。当 data 为 None 时,它会在保留集上预测标签和得分。

保留集预测

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
xgboost = create_model('xgboost')

# predict on hold-out
predict_model(xgboost)

未见数据预测

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
xgboost = create_model('xgboost')

# predict on new data
new_data = diabetes.copy()
new_data.drop('Class variable', axis = 1, inplace = True)
predict_model(xgboost, data = new_data)

按类别划分的概率

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
xgboost = create_model('xgboost')

# predict on new data
new_data = diabetes.copy()
new_data.drop('Class variable', axis = 1, inplace = True)
predict_model(xgboost, raw_score = True, data = new_data)

设置概率阈值

用于将预测概率转换为类别标签的阈值。除非设置了此参数,否则它将默认为模型创建期间设置的值。如果未设置,则所有分类器的默认值为 0.5。仅适用于二元分类。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
xgboost = create_model('xgboost')

# probability threshold 0.3
predict_model(xgboost, probability_threshold = 0.3)

不同阈值在保留集数据上的比较

finalize_model

此函数在包括保留集在内的整个数据集上训练给定的模型。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
rf = create_model('rf')

# finalize a model
finalize_model(rf)

此函数不改变模型的任何参数。它只在包括保留集在内的整个数据集上重新训练。

deploy_model

此函数在云端部署完整的 ML pipeline。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
lr = create_model('lr')

# finalize a model
final_lr = finalize_model(lr)

# deploy a model
deploy_model(final_lr, model_name = 'lr_aws', platform = 'aws', authentication = { 'bucket'  : 'pycaret-test' })

AWS

在将模型部署到 AWS S3(‘aws’)之前,必须使用命令行界面配置环境变量。要配置 AWS 环境变量,请在你的 python 命令行中输入 aws configure。需要以下信息,这些信息可以使用你的 Amazon 控制台账户的身份和访问管理 (IAM) 门户生成

  • AWS 访问密钥 ID

  • AWS 秘密访问密钥

  • 默认区域名称(可在 AWS 控制台的全局设置下查看)

  • 默认输出格式(必须留空)

GCP

要在 Google Cloud Platform ('gcp') 上部署模型,必须使用命令行或 GCP 控制台创建项目。项目创建后,必须创建一个服务账户并将服务账户密钥下载为 JSON 文件,以便在本地环境中设置环境变量。

Azure

要在 Microsoft Azure ('azure') 上部署模型,必须在本地环境中设置连接字符串的环境变量。前往 Azure 门户上存储账户的设置,以获取所需的连接字符串。

  • AZURE_STORAGE_CONNECTION_STRING(必需的环境变量)

save_model

此函数将转换 pipeline 和训练好的模型对象保存到当前工作目录中,作为 pickle 文件以便后续使用。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
dt = create_model('dt')

# save pipeline
save_model(dt, 'dt_pipeline')

load_model

此函数加载先前保存的 pipeline。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# create a model
dt = create_model('dt')

# save pipeline
save_model(dt, 'dt_pipeline')

# load pipeline
load_model('dt_pipeline')

save_experiment

函数 save_experiment 将实验保存到 pickle 文件。实验使用 cloudpickle 保存,以处理 lambda 函数。数据或测试数据不会与实验一起保存,加载时使用 load_experiment 需要重新指定。

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

# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

# save experiment
save_experiment('my_saved_experiment1')

load_experiment

函数 load_experiment 从路径或文件加载实验。数据 data(和 test_data)不会与实验一起保存,加载时需要重新指定。

# load data
data = get_data('diabetes')

# load experiment function
from pycaret.classification import load_experiment
clf2 = load_experiment('my_saved_experiment1', data = data)

check_drift

函数 check_drift 使用 evidently 库生成漂移报告文件。

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

# generate drift report
check_drift(reference_data = data.head(500), current_data = data.tail(500), target = 'charges')

它将在本地生成一个 HTML 报告。

convert_model

此函数将训练好的机器学习模型的决策函数转译(transpiles)成不同的编程语言,例如 Python、C、Java、Go、C# 等。如果你想将模型部署到无法安装常规 Python 环境来支持模型推理的环境中,这将非常有用。

# load dataset
from pycaret.datasets import get_data
juice = get_data('juice')

# init setup
from pycaret.classification import *
exp_name = setup(data = juice,  target = 'Purchase')

# train a model
lr = create_model('lr')

# convert a model
convert_model(lr, 'java')

视频

create_api

此函数接收一个输入模型并创建一个用于推理的 POST API。它只创建 API,不会自动运行。要运行 API,必须使用 !python 运行 Python 文件。

# load dataset
from pycaret.datasets import get_data
juice = get_data('juice')

# init setup
from pycaret.classification import *
exp_name = setup(data = juice,  target = 'Purchase')

# train a model
lr = create_model('lr')

# create api
create_api(lr, 'lr_api')

# run api
!python lr_api.py

使用 !python 命令初始化 API 后。你可以在 localhost:8000/docs 上看到服务器。

视频

create_docker

此函数创建一个 Dockerfile 和一个 requirements.txt,用于将 API 端点投入生产环境。

# load dataset
from pycaret.datasets import get_data
juice = get_data('juice')

# init setup
from pycaret.classification import *
exp_name = setup(data = juice,  target = 'Purchase')

# train a model
lr = create_model('lr')

# create api
create_api(lr, 'lr_api')

# create docker
create_docker('lr_api')

你会看到为你创建了两个文件。

视频

create_app

此函数创建一个用于推理的基本 gradio 应用。后续会扩展支持其他应用类型,例如 Streamlit。

# load dataset
from pycaret.datasets import get_data
juice = get_data('juice')

# init setup
from pycaret.classification import *
exp_name = setup(data = juice,  target = 'Purchase')

# train a model
lr = create_model('lr')

# create app
create_app(lr)

视频

注意:这仅适用于用例。

注意:这仅适用于用例(仅限二元分类)。

了解更多

了解更多

💡
分类
分类
https://cloud.google.com/docs/authentication/production
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python?toc=%2Fpython%2Fazure%2FTOC.json
predict_model(xgboost) 的输出
predict_model(xgboost, data=new_data) 的输出
predict_model(xgboost, raw_score = True, data = new_data) 的输出
predict_model(xgboost, probability_threshold = 0.3) 的输出
概率阈值 = 0.5 对比 概率阈值 = 0.3
finalize_model(rf) 的输出
deploy_model(...) 的输出
save_model(dt, 'dt_pipeline') 的输出
load_model('dt_pipeline') 的输出
convert_model(lr, 'java') 的输出
create_api(lr, 'lr_api') 的输出
托管在 localhost 上的 FastAPI 服务器
create_docker('lr_api') 的输出
%load requirements.txt
%load DockerFile
create_app(lr) 的输出