在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。
在梯度提升中,预测是由一群弱学习者做出的。与为每个样本创建决策树的随机森林不同,在梯度增强中,树是一个接一个地创建的。模型中的先前树不会更改。前一棵树的结果用于改进下一棵树。在本文中,我们将仔细研究一个名为CatBoost的梯度增强库。
CatBoost 是Yandex开发的深度方向梯度增强库 。它使用遗忘的决策树来生成平衡树。相同的功能用于对树的每个级别进行左右拆分。
(CatBoost官方链接:https://github.com/catboost)
与经典树相比,遗忘树在CPU上实现效率更高,并且易于安装。
在机器学习中处理分类的常见方法是单热编码和标签编码。CatBoost允许您使用分类功能,而无需对其进行预处理。
使用CatBoost时,我们不应该使用一键编码,因为这会影响训练速度以及预测质量。相反,我们只需要使用 参数指定分类特征即可 。
以下是考虑使用CatBoost的一些原因:
让我们看一下CatBoost中的常用参数:
CatBoost在其实施中使用scikit-learn标准。让我们看看如何将其用于回归。
与往常一样,第一步是导入回归器并将其实例化。
拟合模型时,CatBoost还可以通过设置来使用户可视化 :
它还允许您执行交叉验证并使过程可视化:
同样,您也可以执行网格搜索并将其可视化:
我们还可以使用CatBoost绘制树。这是第一棵树的情节。从树上可以看到,每个级别的叶子都在相同的条件下被分割,例如297,值> 0.5。
CatBoost还为我们提供了包含所有模型参数的字典。我们可以通过遍历字典来打印它们。
在本文中,我们探讨了CatBoost的优点和局限性以及主要的训练参数。然后,我们使用scikit-learn完成了一个简单的回归实现。希望这可以为您提供有关库的足够信息,以便您可以进一步探索它。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/21726.html