catboost特征学习(catboost详细使用教程)

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

这篇文章是关于如何使用CatBoost来快速改善渐变的。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。

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

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

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

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

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

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

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

处理分类特征

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

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

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

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

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

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

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

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

丢失的值可以在内部处理。

可用于回归和分类问题。

00-1010我们来看看CatBoost中常用的参数:

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

Eval_metric—用于检测过度拟合的度量。

迭代-要构建的最大树数,默认为1000。别名是num_boost_round、n _ evaluator和num_trees。

Learning_rate别名eta- learning rate,决定模型学习的快慢。默认值通常为0.03。

Random_seed别名random_state—用于训练的随机种子。

L2 _叶_注册别名reg_lambda—成本函数的L2正则项的系数。默认值为3.0。

Bootstrap_type—确定物体重量的抽样方法,如贝叶斯、伯努利、MVS和泊松。

深度—树的深度。

Grow_policy—确定如何应用贪婪搜索算法。它可以是对称的、深度方向的或损耗方向的。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进行快速梯度提升

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154591.html

    (0)

    相关推荐

    • mysql从共享表空间修改为单个表的表空间存储方式是什么

      技术mysql从共享表空间修改为单个表的表空间存储方式是什么本篇文章为大家展示了mysql从共享表空间修改为单个表的表空间存储方式是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

      攻略 2021年11月16日
    • BBFT和FBFT/hot tuff有什么区别?

      技术BBFT与FBFT/HotStuff的区别有哪些本篇内容介绍了“BBFT与FBFT/HotStuff的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

      攻略 2021年12月20日
    • Python解释器种类以及特点是什么

      技术Python解释器种类以及特点是什么这篇文章将为大家详细讲解有关Python解释器种类以及特点是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python解释器是

      攻略 2021年12月4日
    • 皆为利来,熙熙攘攘皆为利往下句是什么

      技术皆为利来,熙熙攘攘皆为利往下句是什么天下熙熙皆为利来,天下攘攘皆为利往皆为利来。出自:司马迁·西汉《史记 货殖列传》
      译文:天下人为了利益而蜂拥而至,为了利益各奔东西。
      《史记》是西汉著名史学家司马迁撰写的一部纪传体

      生活 2021年10月28日
    • 不开心,有不开心的事情该怎么宣泄

      技术不开心,有不开心的事情该怎么宣泄生活中遇到不开心的事情怎样宣泄不开心:1,要放宽心态。一个人的心态很重要,人生不如意之事十之八九,所以要让自己的心态保持良好,放宽,不要去计较那些不开心的事情,让自己可以积极乐观的面对

      生活 2021年10月29日
    • ubuntu怎么一直运行一个php(ubuntuphp入门教程学习交流)

      技术ubuntu php不解析的解决方法这篇文章给大家分享的是有关ubuntu php不解析的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ubuntu php不解析的解决办法:1、安

      攻略 2021年12月17日