可生成图片类型(推荐)
可生成数据表类型(推荐)
(→算法概述) |
Zeroclanzhang(讨论 | 贡献) 无编辑摘要 |
||
(未显示2个用户的12个中间版本) | |||
第5行: | 第5行: | ||
|simpleicon=Boosting_AdaBoost_Pure.svg | |simpleicon=Boosting_AdaBoost_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_AdaBoost | ||
|abbreviation= | |abbreviation=AdaBoost | ||
|funcmaincategory=机器学习 | |funcmaincategory=机器学习 | ||
|funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | |funcsubcategory=[[DataML Lv1 Cat::分类训练器]] | ||
第20行: | 第20行: | ||
|nodeavailableplotlist=nodenoplotoutput | |nodeavailableplotlist=nodenoplotoutput | ||
|nodeavailabletablelist=Table_For_Downstream | |nodeavailabletablelist=Table_For_Downstream | ||
|nodeconfiguration=VariableList; | |nodeconfiguration=VariableList;DropMenu;Text | ||
|nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | |nodeinputports=WorkFlow-Control ➤;Transfer-Table ■ | ||
|nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | |nodeoutputports=WorkFlow-Control ➤;Transfer-Model ▶;Transfer-Table ■ | ||
第27行: | 第27行: | ||
|nextnode=[[XGBoost]] | |nextnode=[[XGBoost]] | ||
}} | }} | ||
==算法概述== | ==算法概述== | ||
AdaBoost是Adaptive Boosting的缩写,是Yoav Freund和Robert Schapire于1995年制定的一种统计分类元算法<ref>{{cite book |author1=Freund, Yoav |author2=Schapire, Robert E. |title=A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting |publisher=Springer Berlin Heidelberg |location=Berlin, Heidelberg |year=1995 |pages=23–37 |doi=10.1007/3-540-59119-2_166 |isbn=978-3-540-59119-1}}</ref>,他们的工作获得了2003年哥德尔奖。它可以与许多其他类型的学习算法结合使用,以提高性能。其他学习算法(“基础估计器”)的输出被组合成表示增强分类器的最终输出的加权和。通常,AdaBoost是用于二进制分类的,尽管它可以推广到多个类上的有界区间。AdaBoost首先在原始数据集上拟合分类模型,然后在同一数据集上匹配分类模型的附加副本,但其中调整了错误分类实例的权重,使后续分类器更多地关注被错误分类的情况。<ref>{{cite journal |author1=Hastie, Trevor |author2=Rosset, Saharon |author3=Zhu, Ji |author4=Zou, Hui |title=Multi-class AdaBoost |journal=Statistics and Its Interface |volume=2 |issue=3 |year=2009 |pages=349–360}}</ref> | |||
==示例代码- | ==示例代码-AdaBoost分类节点== | ||
该节点使用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>。以下为示例代码: | 该节点使用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"> | <syntaxhighlight lang="Python"> | ||
from sklearn import | from sklearn.ensemble import AdaBoostClassifier | ||
X = | from sklearn.datasets import make_classification | ||
X, y = make_classification(n_samples=1000, n_features=4, | |||
clf = | n_informative=2, n_redundant=0, | ||
clf | random_state=0, shuffle=False) | ||
clf = AdaBoostClassifier(n_estimators=100, random_state=0) | |||
clf.fit(X, y) | |||
clf.predict([[0, 0, 0, 0]]) | |||
clf.score(X, y) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
第52行: | 第55行: | ||
===参数配置=== | ===参数配置=== | ||
* 设置随机数:控制模型的随机性。 | * 设置随机数:控制模型的随机性。 | ||
* | * 基础估计器选择:构建增强整体的基本估计器。默认基本估计器用决策树分类估计器,初始化最大深度为1。 | ||
* | ** 决策树, | ||
* | ** 支持向量机。 | ||
** | * 估计器数量:默认为100。 | ||
* | * Boosting算法选择:SAMME.R 算法通常比 SAMME 收敛得更快,从而通过更少的提升迭代实现更低的测试误差。 | ||
* | ** SAMME:离散增强算法。 | ||
* | ** SAMME.R:真实增强算法。 | ||
* | * 学习率:在每次迭代时应用于每个分类器的权重。较高的学习率会增加每个分类器的贡献。 | ||
* | |||
* | |||
* | |||
===注意事项=== | ===注意事项=== | ||
第71行: | 第71行: | ||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | {{reflist}} | ||
{{Navplate AlgorithmNodeList}} | {{Navplate AlgorithmNodeList}} | ||
[[Category:分类训练器]] | [[Category:分类训练器]] |
节点状态 | / Win10及以上可用
在V1.0部署
|
---|---|
AdaBoost | |
节点开发者 | 决策链算法研发部 (Dev.Team-DPS) |
节点英文名 | Boosting_AdaBoost |
功能主类别 | 机器学习 |
英文缩写 | AdaBoost |
功能亚类别 | 分类训练器 |
节点类型 | 数据挖掘 |
开发语言 | Python |
节点简介 | |
AdaBoost(Adaptive Boosting)是一种集成学习算法,通过迭代地训练一系列的弱学习器(通常是决策树),并将它们组合成一个强大的预测模型。 与其他集成学习方法不同,AdaBoost通过调整样本权重来适应先前弱学习器的错误,从而提高整体模型的准确性。 | |
端口数量与逻辑控制(PC) | |
Input-入口 | 2个 |
Output-出口 | 3个 |
Loop-支持循环 | 否 |
If/Switch-支持逻辑判断 | 否 |
输入输出 | |
相关节点 | |
上一节点 | 梯度提升树 |
下一节点 | XGBoost |
相关网站 |
AdaBoost是Adaptive Boosting的缩写,是Yoav Freund和Robert Schapire于1995年制定的一种统计分类元算法[1],他们的工作获得了2003年哥德尔奖。它可以与许多其他类型的学习算法结合使用,以提高性能。其他学习算法(“基础估计器”)的输出被组合成表示增强分类器的最终输出的加权和。通常,AdaBoost是用于二进制分类的,尽管它可以推广到多个类上的有界区间。AdaBoost首先在原始数据集上拟合分类模型,然后在同一数据集上匹配分类模型的附加副本,但其中调整了错误分类实例的权重,使后续分类器更多地关注被错误分类的情况。[2]
该节点使用Python编写,调用scikit-learn包[3]。以下为示例代码:
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=4,
n_informative=2, n_redundant=0,
random_state=0, shuffle=False)
clf = AdaBoostClassifier(n_estimators=100, random_state=0)
clf.fit(X, y)
clf.predict([[0, 0, 0, 0]])
clf.score(X, y)
拟合后,模型可以用于预测样本的类别,可以在通用预测模块实现内外部测试集的预测。
查找其他类别的节点,请参考以下列表