千家信息网

怎么使用CatBoost进行快速梯度提升

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇文章给大家分享的是有关怎么使用CatBoost进行快速梯度提升,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们将仔细研究一个名为C
千家信息网最后更新 2026年10月31日怎么使用CatBoost进行快速梯度提升

本篇文章给大家分享的是有关怎么使用CatBoost进行快速梯度提升,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

我们将仔细研究一个名为CatBoost的梯度增强库。

在梯度提升中,预测是由一群弱学习者做出的。与为每个样本创建决策树的随机森林不同,在梯度增强中,树是一个接一个地创建的。模型中的先前树不会更改。前一棵树的结果用于改进下一棵树。在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。

CatBoost 是Yandex开发的深度方向梯度增强库 。它使用遗忘的决策树来生成平衡树。相同的功能用于对树的每个级别进行左右拆分。

(CatBoost官方链接:https://github.com/catboost)

与经典树相比,遗忘树在CPU上实现效率更高,并且易于安装。

处理分类特征

在机器学习中处理分类的常见方法是单热编码和标签编码。CatBoost允许您使用分类功能,而无需对其进行预处理。

使用CatBoost时,我们不应该使用一键编码,因为这会影响训练速度以及预测质量。相反,我们只需要使用cat_features 参数指定分类特征即可 。

使用CatBoost的优点

以下是考虑使用CatBoost的一些原因:

  • CatBoost允许在多个GPU上训练数据。

  • 使用默认参数可以提供很好的结果,从而减少了参数调整所需的时间。

  • 由于减少了过度拟合,因此提高了精度。

  • 使用CatBoost的模型应用程序进行快速预测。

  • 经过训练的CatBoost模型可以导出到Core ML进行设备上推理(iOS)。

  • 可以在内部处理缺失值。

  • 可用于回归和分类问题。

训练参数

让我们看一下CatBoost中的常用参数:

  • loss_function 别名为 objective -用于训练的指标。这些是回归指标,例如用于回归的均方根误差和用于分类的对数损失。

  • eval_metric -用于检测过度拟合的度量。

  • iterations -待建的树的最大数量,默认为1000。别名是 num_boost_round, n_estimators和 num_trees。

  • learning_rate 别名 eta -学习速率,确定模型将学习多快或多慢。默认值通常为0.03。

  • random_seed 别名 random_state -用于训练的随机种子。

  • l2_leaf_reg 别名 reg_lambda -成本函数的L2正则化项的系数。默认值为3.0。

  • bootstrap_type -确定对象权重的采样方法,例如贝叶斯,贝努利,MVS和泊松。

  • depth -树的深度。

  • grow_policy -确定如何应用贪婪搜索算法。它可以是 SymmetricTree, Depthwise或 Lossguide。 SymmetricTree 是默认值。在中 SymmetricTree,逐级构建树,直到达到深度为止。在每个步骤中,以相同条件分割前一棵树的叶子。当 Depthwise 被选择,一棵树是内置一步步骤,直到指定的深度实现。在每个步骤中,将最后一棵树级别的所有非终端叶子分开。使用导致最佳损失改善的条件来分裂叶子。在中 Lossguide,逐叶构建树,直到达到指定的叶数。在每个步骤中,将损耗改善最佳的非终端叶子进行拆分

  • min_data_in_leaf 别名 min_child_samples -这是一片叶子中训练样本的最小数量。此参数仅与 Lossguide 和 Depthwise 增长策略一起使用。

  • max_leaves alias num_leaves -此参数仅与Lossguide 策略一起使用, 并确定树中的叶子数。

  • ignored_features -表示在培训过程中应忽略的功能。

  • nan_mode -处理缺失值的方法。选项包括 Forbidden, Min,和 Max。默认值为 Min。当 Forbidden 使用时,缺失值导致错误的存在。使用 Min,缺少的值将作为该功能的最小值。在中 Max,缺失值被视为特征的最大值。

  • leaf_estimation_method -用于计算叶子中值的方法。在分类中,使用10 Newton 次迭代。使用分位数或MAE损失的回归问题使用一次 Exact 迭代。多分类使用一次 Netwon 迭代。

  • leaf_estimation_backtracking -在梯度下降过程中使用的回溯类型。默认值为 AnyImprovement。 AnyImprovement 减小下降步长,直至损失函数值小于上次迭代的值。 Armijo 减小下降步长,直到满足 Armijo条件 。

  • boosting_type -加强计划。它可以plain 用于经典的梯度增强方案,也可以 用于或 ordered,它在较小的数据集上可以提供更好的质量。

  • score_function - 分数类型, 用于在树构建过程中选择下一个拆分。 Cosine 是默认选项。其他可用的选项是 L2, NewtonL2和 NewtonCosine。

  • early_stopping_rounds -当时 True,将过拟合检测器类型设置为, Iter 并在达到最佳度量时停止训练。

  • classes_count -多重分类问题的类别数。

  • task_type -使用的是CPU还是GPU。CPU是默认设置。

  • devices -用于训练的GPU设备的ID。

  • cat_features -具有分类列的数组。

  • text_features -用于在分类问题中声明文本列。

回归示例

CatBoost在其实施中使用scikit-learn标准。让我们看看如何将其用于回归。

与往常一样,第一步是导入回归器并将其实例化。

拟合模型时,CatBoost还可以通过设置来使用户可视化 plot=true:

它还允许您执行交叉验证并使过程可视化:

同样,您也可以执行网格搜索并将其可视化:

以上就是怎么使用CatBoost进行快速梯度提升,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

分类 梯度 训练 参数 叶子 别名 模型 一棵树 学习 功能 损失 方法 步骤 深度 缺失 过程 问题 处理 迭代 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技工作委员会毛军 科技平台互联网 互联网络科技有限公司 互联网科技股午盘股票涨跌 互联网科技生活的内容 互联网汽车科技小镇 茂名市互联网科技产业园 互联网对科技的发展 港股科技和互联网 电子科技大学互联网创业大赛 996高科技互联网公司 世界互联网领先科技成果获奖 互联网科技公司营业执照怎么办理 中国互联网有什么科技 梅州GM互联网络科技有限公司 互联网相关科技技术 陕西云淼互联网科技公司 互联网科技企业商标注意事项 互联网科技创新方面的资料 宁波允成互联网科技有限公司 互联网金融 科技金融 互联网科技集团 奇酷互联网络科技公司 佩信高科技互联网 福建科技产业互联网发展 昊天互联网科技有限公司 易企秀互联网科技是做什么的 广东鹅鹅鹅互联网科技有限公司 科技互联网专业务虚会材料 利用互联网等科技手段
0