模型
DaskXGBForecast
dask XGBoost 预测器
xgboost.dask.DaskXGBRegressor
的包装器,添加了一个 model_
属性,该属性包含拟合好的模型,并在预测步骤中发送给 worker。
来源
DaskXGBForecast
Scikit-Learn API for XGBoost 的实现。更多信息请参见 :doc:/python/sklearn_estimator
。
类型 | 默认值 | 详情 | |
---|---|---|---|
max_depth | 可选 | None | 基础学习器的最大树深度。 |
max_leaves | 可选 | None | 最大叶子数;0 表示无限制。 |
max_bin | 可选 | None | 如果使用基于直方图的算法,每个特征的最大分箱数 |
grow_policy | 可选 | None | 树生长策略。 - depthwise: 倾向于在距离节点最近的节点处分裂, - lossguide: 倾向于在损失变化最大的节点处分裂。 |
learning_rate | 可选 | None | Boosting 学习率 (xgb 的 “eta”) |
n_estimators | 可选 | None | 梯度提升树的数量。等同于 boosting 轮数。 轮数。 |
verbosity | 可选 | None | 详细程度。有效值为 0 (静默) - 3 (调试)。 |
objective | 联合类型 | None | 指定学习任务和相应的学习目标,或要使用的自定义 目标函数。 对于自定义目标,更多信息请参见 :doc: /tutorials/custom_metric_obj 和:ref: custom-obj-metric ,以及函数签名的尾注。函数签名。 |
booster | 可选 | None | |
tree_method | 可选 | None | 指定要使用的树方法。默认为 auto。如果此参数设置为 default,XGBoost 将选择可用的最保守选项。建议从参数文档 :doc: tree method 研究此选项 |
n_jobs | 可选 | None | 运行 xgboost 使用的并行线程数。与其他 Scikit-Learn 算法(如网格搜索)一起使用时,可以选择并行哪个算法并平衡线程。 创建线程争用会显著减慢两种算法的速度。 显著降低两种算法的速度。 |
gamma | 可选 | None | (min_split_loss) 在树的叶节点上进一步划分所需的最小损失减少。 树的叶节点。 |
min_child_weight | 可选 | None | 子节点中所需的实例权重(Hessian)的最小和。 |
max_delta_step | 可选 | None | 允许每棵树的权重估计的最大 delta 步长。 |
subsample | 可选 | None | 训练实例的子样本比例。 |
sampling_method | 可选 | None | 采样方法。仅由 hist 树方法的 GPU 版本使用。- uniform : 均匀随机选择训练实例。- gradient_based : 当梯度和 Hessian 较大时,以较高概率随机选择训练实例。(参见 CatBoost)当梯度和Hessian较大时。(cf. CatBoost) |
colsample_bytree | 可选 | None | 构建每棵树时列的子样本比例。 |
colsample_bylevel | 可选 | None | 每个级别的列子样本比例。 |
colsample_bynode | 可选 | None | 每个分裂的列子样本比例。 |
reg_alpha | 可选 | None | 权重的 L1 正则化项 (xgb 的 alpha)。 |
reg_lambda | 可选 | None | 权重的 L2 正则化项 (xgb 的 lambda)。 |
scale_pos_weight | 可选 | None | 正负权重的平衡。 |
base_score | 可选 | None | 所有实例的初始预测分数,全局偏差。 |
random_state | 联合类型 | None | 随机数种子。 .. 注意: 使用带 shotgun 更新器的 gblinear booster 是非确定性的,因为它使用了 Hogwild 算法。 |
missing | float | nan | 数据中需要作为缺失值存在的值。默认为 :py:data: numpy.nan 。 |
num_parallel_tree | 可选 | None | |
monotone_constraints | 联合类型 | None | 变量单调性约束。更多信息请参见 :doc:tutorial </tutorials/monotonic> 。了解更多信息。 |
interaction_constraints | 联合类型 | None | 表示允许交互的交互约束。约束必须以嵌套列表的形式指定,例如 [[0, 1], [2, ,其中每个内部列表是一组允许相互交互的特征索引。约束必须以嵌套列表的形式指定,例如 [[0, 1], [2,<br/>3, 4]] ,其中每个内部列表是一组特征的索引,这些特征是更多信息请参见 :doc: tutorial |
importance_type | 可选 | None | |
device | 可选 | None | .. 新版本添加于:: 2.0.0 设备序号,可用选项包括 cpu 、cuda 和 gpu 。 |
validate_parameters | 可选 | None | 对未知参数给出警告。 |
enable_categorical | bool | False | 详情请参见 :py:class:DMatrix 的同名参数。 |
feature_types | 可选 | None | .. 新版本添加于:: 1.7.0 用于在不构造 dataframe 的情况下指定特征类型。详情请参见 :py:class: DMatrix 。 |
max_cat_to_onehot | 可选 | None | .. 新版本添加于:: 1.6.0 .. 注意:: 此参数为实验性质 决定 XGBoost 是否对分类数据使用基于 one-hot 编码的分裂的阈值。 当类别数小于阈值时,选择 one-hot 编码;否则,类别将被划分为子节点。 则选择one-hot编码,否则将对类别进行划分 此外,需要设置 enable_categorical 才能支持分类特征。详情请参见 :doc:Categorical Data 和 :ref:cat-param 。分类特征支持。详细信息请参见:doc: 分类数据<br/></tutorials/categorical> 和:ref:cat-param 。 |
max_cat_threshold | 可选 | None | .. 新版本添加于:: 1.7.0 .. 注意:: 此参数为实验性质 每次分裂考虑的最大类别数。仅用于基于分区的分裂以防止过拟合。 此外,需要设置 enable_categorical 才能支持分类特征。详情请参见 :doc:Categorical Data 和 :ref:cat-param 。需要设置以支持分类特征。详细信息请参见:doc: 分类数据<br/></tutorials/categorical> 和:ref:cat-param 。 |
multi_strategy | 可选 | None | .. 新版本添加于:: 2.0.0 .. 注意:: 此参数正在开发中。 用于训练多目标模型(包括多目标回归和多类别分类)的策略。更多信息请参见 :doc: /tutorials/multioutput 。回归和多类别分类。有关 更多信息,请参见:doc: /tutorials/multioutput 。- one_output_per_tree : 每个目标一个模型。- multi_output_tree : 使用多目标树。 |
eval_metric | 联合类型 | None | .. 新版本添加于:: 1.6.0 用于监控训练结果和早停的指标。它可以是字符串或字符串列表,作为 XGBoost 中预定义指标的名称(参见 doc/parameter.rst),或者是 :py:mod: sklearn.metrics 中的指标之一,或者任何其他看起来像 sklearn.metrics 的用户定义指标。字符串或字符串列表,作为XGBoost中预定义指标的名称(参见 doc/parameter.rst),:py:mod: sklearn.metrics 中的一个指标,或任何其他看起来像 sklearn.metrics 的用户定义指标。如果同时提供了自定义目标,则自定义指标应实现相应的反向链接函数。 相应的逆链接函数。 与 scikit-learn 中常用的 scoring 参数不同,当提供可调用对象时,它被假定为成本函数,并且默认情况下 XGBoost 在早停期间会最小化结果。提供了对象,则假定它是一个成本函数,并且默认情况下XGBoost 会在早期停止期间最小化结果。 有关早停的高级用法,例如直接选择最大化而不是最小化,请参见 :py:obj: xgboost.callback.EarlyStopping 。最小化,请参见:py:obj: xgboost.callback.EarlyStopping 。更多信息请参见 :doc: /tutorials/custom_metric_obj 和 :ref:custom-obj-metric 。信息。 .. code-block:: python from sklearn.datasets import load_diabetes from sklearn.metrics import mean_absolute_error X, y = load_diabetes(return_X_y=True) reg = xgb.XGBRegressor( tree_method=“hist”, eval_metric=mean_absolute_error, ) reg.fit(X, y, eval_set=[(X, y)]) |
early_stopping_rounds | 可选 | None | .. 新版本添加于:: 1.6.0 - 激活早停。验证指标需要在每 early_stopping_rounds 轮至少改进一次才能继续训练。在 :py:meth: fit 中需要至少一个 eval_set 项目。每early_stopping_rounds轮次继续训练。至少需要 :py:meth: fit 的eval_set中至少有一个项。- 如果发生早停,模型将有两个额外的属性 :py:attr: best_score 和 :py:attr:best_iteration 。这些属性由 :py:meth:predict 和 :py:meth:apply 方法用于在推断期间确定最优树数量。如果用户想访问完整模型(包括早停后构建的树),他们可以在这些推断方法中指定 iteration_range 。此外,其他工具(如模型绘图)也可以使用整个模型。:py:attr: best_score 和:py:attr:best_iteration 。它们被:py:meth: predict 和:py:meth:apply 方法用于确定最优推断过程中的树数量。如果用户想访问完整模型 (包括早期停止后构建的树),他们可以指定 这些推断方法中的 iteration_range 。此外,其他工具如模型绘制也可以使用整个模型。 - 如果您希望丢弃 best_iteration 之后的树,请考虑使用回调函数 :py:class:xgboost.callback.EarlyStopping 。回调函数:py:class: xgboost.callback.EarlyStopping 。- 如果 eval_set 中有多个项目,将使用最后一个条目进行早停。如果 eval_metric 中有多个指标,将使用最后一个指标进行早停。 早期停止。如果eval_metric中有多个指标,则最后一个 指标将用于早期停止。 |
callbacks | 可选 | None | 在每次迭代结束时应用的回调函数列表。 可以通过使用 :ref: Callback API <callback_api> 来使用预定义的回调。:ref: 回调API <callback_api> 。.. 注意: 回调中的状态在训练期间不会保留,这意味着回调对象不能在不重新初始化或深度复制的情况下用于多个训练会话。 对象不能在没有 重新初始化或深度复制的情况下重复用于多个训练会话。 .. code-block:: python for params in parameters_grid # 在每次运行前确保(重新)初始化回调 callbacks = [xgb.callback.LearningRateScheduler(custom_rates)] reg = xgboost.XGBRegressor(**params, callbacks=callbacks) reg.fit(X, y) |
kwargs | Any | XGBoost Booster 对象的关键字参数。参数的完整文档可以在 :doc:这里 </parameter> 找到。可以在:doc: 此处 </parameter> 找到。尝试同时通过构造函数参数和 **kwargs 字典设置参数将导致 TypeError。 同时使用dict将导致TypeError。 .. 注意:: scikit-learn 不支持 **kwargs scikit-learn 不支持 **kwargs。我们不保证通过此参数传递的参数将与 scikit-learn 正确交互。 通过此参数传递的参数将正确地与 scikit-learn交互。 | |
返回 | None |