XGBoost

Snowflake ML Model Registry 支持使用 XGBoost 创建的模型(从 xgboost.XGBModelxgboost.Booster 派生的模型)。

调用 options 时,可以在 log_model 字典中使用下列附加选项:

选项

描述

target_methods

可在模型对象上使用的方法的名称列表。从 XGBModel 派生的模型默认具有以下目标方法(假设方法存在):predictpredict_proba。(在 v1.4.0 之前,还包括 apply。)从 Booster 派生的模型默认具有 predict 方法。

cuda_version

部署到具有 GPU 的平台时使用的 CUDA 运行时版本;默认值为 11.8。如果手动设置为 None,则无法将模型部署到具有 GPU 的平台。

在登记 XGBoost 模型时,您必须指定 sample_input_datasignatures 参数,以确保注册表了解目标方法的签名。

示例

import xgboost
from sklearn import datasets, model_selection

cal_X, cal_y = datasets.load_breast_cancer(as_frame=True, return_X_y=True)
cal_X_train, cal_X_test, cal_y_train, cal_y_test = model_selection.train_test_split(cal_X, cal_y)
params = dict(n_estimators=100, reg_lambda=1, gamma=0, max_depth=3, objective="binary:logistic")
regressor = xgboost.train(params, xgboost.DMatrix(data=cal_X_train, label=cal_y_train))
model_ref = registry.log_model(
    regressor,
    model_name="xgBooster",
    version_name="v1",
    sample_input_data=cal_X_test,
    options={
        "target_methods": ["predict"],
        "method_options": {
            "predict": {"case_sensitive": True},
        },
    },
)
model_ref.run(cal_X_test[-10:])
Copy
语言: 中文