可生成图片类型(推荐)
可生成数据表类型(推荐)
Zeroclanzhang(讨论 | 贡献) 无编辑摘要 |
无编辑摘要 |
||
第28行: | 第28行: | ||
}} | }} | ||
==算法概述== | |||
Gradient Boosting是一种基于函数空间(functional space)中增强的机器学习方法,其中目标函数是伪残差(pseudo-residuals),而不是传统增强中使用的典型残差。它给出了弱学习模型进行集成后的预测模型,即对数据进行很少的假设的模型,这些模型通常是简单的决策树。<ref></ref>当决策树是弱学习器时,所得到的算法被称为梯度增强树;它通常优于随机森林。<ref></ref>与其他Boosting方法一样,梯度提升树模型是以分阶段的方式构建的,但它通过允许优化任意可微损失函数来推广其他方法。 | |||
==示例代码-梯度提升书分类节点== | |||
该节点使用Python编写,调用scikit-learn包<ref>{{cite journal |author=Kramer, Oliver |title=Scikit-learn |journal=Machine learning for evolution strategies |pages=45--53 |year=2016 |publisher=Springer }}</ref>。以下为示例代码: | |||
<syntaxhighlight lang="Python"> | |||
from sklearn.datasets import make_hastie_10_2 | |||
from sklearn.ensemble import GradientBoostingClassifier | |||
X, y = make_hastie_10_2(random_state=0) | |||
X_train, X_test = X[:2000], X[2000:] | |||
y_train, y_test = y[:2000], y[2000:] | |||
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, | |||
max_depth=1, random_state=0).fit(X_train, y_train) | |||
clf.score(X_test, y_test) | |||
</syntaxhighlight> | |||
拟合后,模型可以用于预测样本的类别,可以在[[通用预测模块]]实现内外部测试集的预测。 | |||
=='''节点使用指南'''== | |||
* 最适用的场景:决策树可用于解决分类问题,其中目标是将数据分为不同的类别或预测数据的类别。 | |||
* 处理的数据类型:结局变量为二分类,特征变量大多数为连续型的变量。 | |||
===变量配置=== | |||
* 选择特征变量:作为特征进行学习的变量(X),多选。 | |||
* 选择目标变量:作为结局的二分类变量(y),单选。 | |||
===参数配置=== | |||
* 设置随机数:控制模型的随机性。 | |||
* 基础估计器选择:构建增强整体的基本估计器。默认基本估计器用决策树分类估计器,初始化最大深度为1。 | |||
** 决策树, | |||
** 支持向量机。 | |||
* 估计器数量:默认为100。 | |||
* Boosting算法选择:SAMME.R 算法通常比 SAMME 收敛得更快,从而通过更少的提升迭代实现更低的测试误差。 | |||
** SAMME:离散增强算法。 | |||
** SAMME.R:真实增强算法。 | |||
* 学习率:在每次迭代时应用于每个分类器的权重。较高的学习率会增加每个分类器的贡献。 | |||
===注意事项=== | |||
* 不支持带空值运算,用[[多重插补]]或[[插补空值]]进行插补, | |||
* 节点不出图, | |||
* 导入该节点的数据端口为训练数据集,导入前注意转换。 | |||
== 参考文献 == | |||
{{reflist}} | |||
{{Navplate AlgorithmNodeList}} | {{Navplate AlgorithmNodeList}} | ||
[[Category:分类训练器]] | [[Category:分类训练器]] |
节点状态 | PC可用
在 V1.0部署
|
---|---|
梯度提升树 | |
节点开发者 | 决策链算法研发部 (Dev.Team-DPS) |
节点英文名 | 梯度提升树 |
功能主类别 | 机器学习 |
英文缩写 | 梯度提升树 |
功能亚类别 | 分类训练器 |
节点类型 | 数据挖掘 |
开发语言 | Python |
节点简介 | |
梯度提升树(Gradient Boosting Tree)是一种集成学习算法,通过迭代地训练弱学习器(通常是决策树),并将它们组合成一个强大的预测模型。与其他集成学习方法(如随机森林)不同,梯度提升树是通过优化损失函数的梯度来逐步改进模型的。 | |
端口数量与逻辑控制(PC) | |
Input-入口 | 2个 |
Output-出口 | 3个 |
Loop-支持循环 | 否 |
If/Switch-支持逻辑判断 | 否 |
输入输出 | |
相关节点 | |
上一节点 | 支持向量机 |
下一节点 | AdaBoost |
相关网站 |
Gradient Boosting是一种基于函数空间(functional space)中增强的机器学习方法,其中目标函数是伪残差(pseudo-residuals),而不是传统增强中使用的典型残差。它给出了弱学习模型进行集成后的预测模型,即对数据进行很少的假设的模型,这些模型通常是简单的决策树。引证错误:<ref>
标签无效;没有name(名称)的ref(参考)必须有内容当决策树是弱学习器时,所得到的算法被称为梯度增强树;它通常优于随机森林。引证错误:<ref>
标签无效;没有name(名称)的ref(参考)必须有内容与其他Boosting方法一样,梯度提升树模型是以分阶段的方式构建的,但它通过允许优化任意可微损失函数来推广其他方法。
该节点使用Python编写,调用scikit-learn包[1]。以下为示例代码:
from sklearn.datasets import make_hastie_10_2
from sklearn.ensemble import GradientBoostingClassifier
X, y = make_hastie_10_2(random_state=0)
X_train, X_test = X[:2000], X[2000:]
y_train, y_test = y[:2000], y[2000:]
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0,
max_depth=1, random_state=0).fit(X_train, y_train)
clf.score(X_test, y_test)
拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。
查找其他类别的节点,请参考以下列表