可生成图片类型(推荐)
可生成数据表类型(推荐)
Zeroclanzhang(讨论 | 贡献) (重定向页面至CatBoost) 标签:新重定向 已被回退 |
Zeroclanzhang(讨论 | 贡献) (撤销Zeroclanzhang(讨论)的版本5713) 标签:移除重定向 撤销 |
||
第1行: | 第1行: | ||
# | {{Infobox nodebasic | ||
|nodename=CatBoost | |||
|nodeimage=Boosting_CatBoost.png | |||
|icon=Boosting_CatBoost.svg | |||
|simpleicon=Boosting_CatBoost_Pure.svg | |||
|developer=Dev.Team-DPS | |||
|productionstate={{图标文件|Win}} / {{图标文件|W10}} Win10及以上可用 | |||
|productionstatedesc=在[[Update:DecisionLinnc 1.0.0.8|V1.0]]部署 | |||
|nodeenglishname=[[Has english name::Boosting_CatBoost]] | |||
|abbreviation=[[Has abbreviation::CatBoost]] | |||
|funcmaincategory=机器学习 | |||
|funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | |||
|nodecategory=数据挖掘 | |||
|nodeinterpretor=Python | |||
|nodeshortdescription=<p>CatBoost是一种基于梯度提升树的机器学习算法,由Yandex开发。它专门用于处理分类问题,并具有许多独特的特性和优势。</p><p>CatBoost旨在提供高性能、可扩展且易于使用的机器学习解决方案。</p> | |||
|nodeinputnumber=2 | |||
|nodeoutputnumber=3 | |||
|nodeloopsupport=否 | |||
|nodeifswitchsupport=否 | |||
|nodeavailableplotlist=nodenoplotoutput | |||
|nodeavailabletablelist=Table_For_Downstream | |||
|nodeconfiguration=VariableList;DropMenu;Text | |||
|nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | |||
|nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | |||
|statsapewikiurl=https://wiki.statsape.com/CatBoost | |||
|previousnode=[[XGBoost]] | |||
|nextnode=[[Logistic分类器]] | |||
}} | |||
==算法概述== | |||
CatBoost是Yandex开发的开源软件库。它提供了一个梯度增强框架,其中尝试使用与经典算法相比的排列驱动替代方案来解决分类特征<ref>Zhang, Yixiao; Zhao, Zhongguo; Zheng, Jianghua (2020). "CatBoost: A new approach for estimating daily reference crop evapotranspiration in arid and semi-arid regions of Northern China." ''Journal of Hydrology'' 588: 125087. Elsevier.</ref>。它适用于Linux、Windows、macOS,并且可用于 Python、R,并且使用 catboost 构建的模型可用于C++、Java、C#、Rust、Core ML中的预测、ONNX和PMML。源代码已根据Apache 许可证获得许可,并可在 GitHub 上获取。 | |||
==示例代码-CatBoost分类节点== | |||
该节点使用Python编写,调用catboost包<ref>Hancock, John T.; Khoshgoftaar, Taghi M. (2020). "CatBoost for big data: an interdisciplinary review." ''Journal of big data'' 7(1): 1-45.</ref>。以下为示例代码: | |||
<syntaxhighlight lang="Python"> | |||
from catboost import CatBoostClassifier | |||
model = CatBoostClassifier( | |||
iterations=15, | |||
verbose=3 | |||
) | |||
model.fit( | |||
X_train, y_train, | |||
cat_features=cat_features, | |||
eval_set=(X_validation, y_validation), | |||
) | |||
</syntaxhighlight> | |||
如果想使用完全代码请参考:https://github.com/catboost/tutorials/ | |||
拟合后,模型可以用于预测样本的类别,可以在[[通用预测模块]]实现内外部测试集的预测。 | |||
=='''节点使用指南'''== | |||
* 最适用的场景:决策树可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。 | |||
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。 | |||
===变量配置=== | |||
* 选择特征变量:作为特征进行学习的变量(X),多选。 | |||
* 选择目标变量:作为结局的二分类变量(y),单选。 | |||
===参数配置=== | |||
* 设置随机数:控制模型的随机性。 | |||
* 基础估计器选择:构建增强整体的基本估计器。默认基本估计器用决策树分类估计器,初始化最大深度为1。 | |||
** 决策树, | |||
** 支持向量机。 | |||
* 估计器数量:默认为100。 | |||
* Boosting算法选择:SAMME.R 算法通常比 SAMME 收敛得更快,从而通过更少的提升迭代实现更低的测试误差。 | |||
** SAMME:离散增强算法。 | |||
** SAMME.R:真实增强算法。 | |||
* 学习率:在每次迭代时应用于每个分类器的权重。较高的学习率会增加每个分类器的贡献。 | |||
===注意事项=== | |||
* 不支持带空值运算,用[[多重插补]]或[[插补空值]]进行插补, | |||
* 节点不出图, | |||
* 导入该节点的数据端口为训练数据集,导入前注意转换。 | |||
== 参考文献 == | |||
{{reflist}} | |||
{{Navplate AlgorithmNodeList}} | |||
[[Category:分类训练器]] |
节点状态 | / Win10及以上可用
在V1.0部署
|
---|---|
CatBoost | |
节点开发者 | 决策链算法研发部 (Dev.Team-DPS) |
节点英文名 | CatBoost |
功能主类别 | 机器学习 |
英文缩写 | CatBoost |
功能亚类别 | 分类训练器 |
节点类型 | 数据挖掘 |
开发语言 | Python |
节点简介 | |
CatBoost是一种基于梯度提升树的机器学习算法,由Yandex开发。它专门用于处理分类问题,并具有许多独特的特性和优势。 CatBoost旨在提供高性能、可扩展且易于使用的机器学习解决方案。 | |
端口数量与逻辑控制(PC) | |
Input-入口 | 2个 |
Output-出口 | 3个 |
Loop-支持循环 | 否 |
If/Switch-支持逻辑判断 | 否 |
输入输出 | |
相关节点 | |
上一节点 | XGBoost |
下一节点 | Logistic分类器 |
相关网站 |
CatBoost是Yandex开发的开源软件库。它提供了一个梯度增强框架,其中尝试使用与经典算法相比的排列驱动替代方案来解决分类特征[1]。它适用于Linux、Windows、macOS,并且可用于 Python、R,并且使用 catboost 构建的模型可用于C++、Java、C#、Rust、Core ML中的预测、ONNX和PMML。源代码已根据Apache 许可证获得许可,并可在 GitHub 上获取。
该节点使用Python编写,调用catboost包[2]。以下为示例代码:
from catboost import CatBoostClassifier
model = CatBoostClassifier(
iterations=15,
verbose=3
)
model.fit(
X_train, y_train,
cat_features=cat_features,
eval_set=(X_validation, y_validation),
)
如果想使用完全代码请参考:https://github.com/catboost/tutorials/
拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。
查找其他类别的节点,请参考以下列表