可生成图片类型(推荐)
可生成数据表类型(推荐)
Zeroclanzhang(讨论 | 贡献) 无编辑摘要 |
(→参数配置) |
||
(未显示2个用户的22个中间版本) | |||
第2行: | 第2行: | ||
|nodename=XGBoost | |nodename=XGBoost | ||
|nodeimage=Boosting_XGBoost.png | |nodeimage=Boosting_XGBoost.png | ||
|icon=Boosting_XGBoost.svg | |||
|simpleicon=Boosting_XGBoost_Pure.svg | |||
|developer=Dev.Team-DPS | |developer=Dev.Team-DPS | ||
|productionstate= | |productionstate={{图标文件|Win}} / {{图标文件|W10}} Win10及以上可用 | ||
|productionstatedesc=在[[DecisionLinnc | V1.0]]部署 | |productionstatedesc=在[[Update:DecisionLinnc 1.0.0.8|V1.0]]部署 | ||
|nodeenglishname= | |nodeenglishname=Boosting_XGBoost | ||
|abbreviation= | |abbreviation=XGBoost | ||
|funcmaincategory=机器学习 | |funcmaincategory=机器学习 | ||
|funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | |funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | ||
第17行: | 第19行: | ||
|nodeifswitchsupport=否 | |nodeifswitchsupport=否 | ||
|nodeavailableplotlist=nodenoplotoutput | |nodeavailableplotlist=nodenoplotoutput | ||
|nodeavailabletablelist= | |nodeavailabletablelist=Table_For_Downstream | ||
|nodeconfiguration= | |nodeconfiguration=VariableList;DropMenu;Text | ||
|nodeinputports=WorkFlow-Control | |nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | ||
|nodeoutputports=WorkFlow-Control ▶;Transfer-Table ■ | |nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | ||
|statsapewikiurl=https://wiki.statsape.com/XGBoost | |statsapewikiurl=https://wiki.statsape.com/XGBoost | ||
|previousnode=[[AdaBoost]] | |previousnode=[[AdaBoost]] | ||
第26行: | 第28行: | ||
}} | }} | ||
==算法概述== | |||
Boosting是一种高效且广泛使用的机器学习方法。在该节点中,我们描述了一种称为XGBoost(eXtreme Gradient Boosting)<ref>{{cite conference | |||
| title = Xgboost: A scalable tree boosting system | |||
| author1 = Tianqi Chen | |||
| author2 = Carlos Guestrin | |||
| publisher = Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining | |||
| pages = 785–794 | |||
| year = 2016 | |||
}}</ref>的可扩展端到端树提升系统,该系统被数据科学家广泛使用,以在许多机器学习挑战中取得最先进的结果。XGBoost提出了一种新的稀疏数据稀疏性感知算法和近似树学习的加权分位数图。通过结合这些技术,XGBoost能够使用比现有系统少得多的资源得到更精确的结果。 | |||
==示例代码-XGBoost分类节点== | |||
该节点使用Python编写,调用xgboost包<ref>{{cite web | |||
| title = xgboost pakage | |||
| url = https://github.com/dmlc/xgboost | |||
| access-date = 2024-01-22 | |||
}}</ref>。以下为示例代码: | |||
<syntaxhighlight lang="Python"> | |||
import xgboost as xgb | |||
# Load Pandas Data | |||
data = np.random.rand(5, 10) # 5 entities, each contains 10 features | |||
label = np.random.randint(2, size=5) # binary target | |||
dtrain = xgb.DMatrix(data, label=label) | |||
num_round = 10 | |||
bst = xgb.train(param, dtrain, num_round, evallist) | |||
</syntaxhighlight> | |||
如果想使用完全代码请参考:https://xgboost.readthedocs.io/en/stable/python | |||
拟合后,模型可以用于预测样本的类别,可以在[[通用预测模块]]实现内外部测试集的预测。 | |||
=='''节点使用指南'''== | |||
* 最适用的场景:可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。 | |||
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。 | |||
===变量配置=== | |||
* 选择特征变量:作为特征进行学习的变量(X),多选。 | |||
* 选择目标变量:作为结局的二分类变量(y),单选。 | |||
===参数配置=== | |||
* 设置随机数:控制模型的随机性。 | |||
* 弱学习器类型: | |||
** gblinear。 | |||
** gbtree(默认):梯度提升决策树(Gradient Boosting Decision Tree)。这是传统的梯度提升框架,使用了Leaf-wise决策树。 | |||
** dart:DART(Dropouts meet Multiple Additive Regression Trees)。DART是LightGBM的一种改进算法,它在训练过程中引入了随机性,通过丢弃(dropout)弱学习器来减少过拟合的风险。 | |||
===注意事项=== | |||
* 不支持带空值运算,用[[多重插补]]或[[插补空值]]进行插补, | |||
* 节点不出图, | |||
* 导入该节点的数据端口为训练数据集,导入前注意转换。 | |||
== 参考文献 == | |||
{{reflist}} | |||
{{Navplate AlgorithmNodeList}} | {{Navplate AlgorithmNodeList}} | ||
[[Category:分类训练器]] | [[Category:分类训练器]] |
节点状态 | / Win10及以上可用
在V1.0部署
|
---|---|
XGBoost | |
节点开发者 | 决策链算法研发部 (Dev.Team-DPS) |
节点英文名 | Boosting_XGBoost |
功能主类别 | 机器学习 |
英文缩写 | XGBoost |
功能亚类别 | 分类训练器 |
节点类型 | 数据挖掘 |
开发语言 | Python |
节点简介 | |
XGBoost(eXtreme Gradient Boosting)是一种梯度提升树算法的变体,它在梯度提升树的基础上进行了改进和优化。 XGBoost在各种机器学习竞赛和实际应用中表现优秀,被广泛应用于分类、回归和排名等问题。 | |
端口数量与逻辑控制(PC) | |
Input-入口 | 2个 |
Output-出口 | 3个 |
Loop-支持循环 | 否 |
If/Switch-支持逻辑判断 | 否 |
输入输出 | |
相关节点 | |
上一节点 | AdaBoost |
下一节点 | CatBoost |
相关网站 |
Boosting是一种高效且广泛使用的机器学习方法。在该节点中,我们描述了一种称为XGBoost(eXtreme Gradient Boosting)[1]的可扩展端到端树提升系统,该系统被数据科学家广泛使用,以在许多机器学习挑战中取得最先进的结果。XGBoost提出了一种新的稀疏数据稀疏性感知算法和近似树学习的加权分位数图。通过结合这些技术,XGBoost能够使用比现有系统少得多的资源得到更精确的结果。
该节点使用Python编写,调用xgboost包[2]。以下为示例代码:
import xgboost as xgb
# Load Pandas Data
data = np.random.rand(5, 10) # 5 entities, each contains 10 features
label = np.random.randint(2, size=5) # binary target
dtrain = xgb.DMatrix(data, label=label)
num_round = 10
bst = xgb.train(param, dtrain, num_round, evallist)
如果想使用完全代码请参考:https://xgboost.readthedocs.io/en/stable/python
拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。
查找其他类别的节点,请参考以下列表