跳到主要内容

初始化

setup

此函数在 PyCaret 中初始化实验,并根据传递给函数的所有参数创建转换流水线。在执行任何其他函数之前,必须先调用设置函数。它有两个必填参数:datatarget。所有其他参数都是可选的。

示例

# 加载数据集
from pycaret.datasets import get_data
diabetes = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')

一旦运行设置函数,PyCaret 将自动推断数据集中所有变量的数据类型。如果这些数据类型被正确推断,您可以按 Enter 键继续。

当您按 Enter 键继续时,您将看到如下输出:

输出被截断以显示

所有预处理和数据转换都在设置函数中配置。有许多选项可供选择,从数据清洗到特征工程。要了解更多关于所有可用预处理的信息,请查看此页面

注意: 如果您不想看到数据类型确认,可以在设置中传递 silent=True 以在没有任何中断的情况下运行它。

必填参数

设置函数中有许多参数,但只有两个是非可选的。

  • data: pandas.DataFrame
    形状为 (n_samples, n_features),其中 n_samples 是样本数量,n_features 是特征数量。
  • target: str
    要传递的目标列的名称,以字符串形式。

注意: 对于无监督模块(如 clusteringanomaly detectionNLP),目标参数是不需要的。

默认转换

设置中的所有预处理步骤只是一个 TrueFalse 的标志。例如,如果您想要对特征进行缩放,您将需要在设置函数中传递 normalize=True。然而,有三件事会默认发生:

实验日志记录

PyCaret 使用 MLflow 进行实验跟踪。设置中的一个参数可以启用自动跟踪所有有关您机器学习模型的指标、超参数和其他重要信息。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target = 'Class variable', log_experiment = True, experiment_name = 'diabetes1')

# 模型训练
best_model = compare_models()

要初始化 MLflow 服务器,您必须从笔记本内或命令行中运行以下命令。一旦服务器初始化完成,您可以在 https://localhost:5000 上跟踪您的实验。

# 初始化服务器
!mlflow ui

要了解更多关于 PyCaret 中实验跟踪的信息,请查看此页面

模型验证

设置函数中有一些与预处理或数据转换无直接关系,但作为模型验证和选择策略的一部分使用的参数,如 train_sizefold_strategy 或交叉验证的 fold 数量。要了解设置中所有模型验证和选择设置的更多信息,请参阅此页面

GPU 支持

使用 PyCaret,您可以在 GPU 上训练模型,将工作流程加速 10 倍。要在 GPU 上训练模型,只需在设置函数中传递 use_gpu = True。API 的使用没有变化,但在某些情况下,必须安装额外的库,因为它们没有与默认版本或完整版本一起安装。要了解更多关于 GPU 支持的信息,请参阅此页面

示例

要查看在 PyCaret 的其他模块中使用 setup 的示例,请参见以下内容:

  • 分类
  • 回归
  • 聚类
  • 异常检测
  • 自然语言处理
  • 关联规则挖掘 注意: 在 Python 中,setup 函数使用全局环境变量。因此,如果在同一个脚本中两次运行 setup 函数,它将覆盖先前的实验。PyCaret 的下一个重大更新将包括一个新的面向对象的 API,通过类实例可以创建多个实例。