3

我正在对具有 8 个特征和 5000 个样本的数据使用 Matlab 的 fitensemble 函数。使用以下命令,我可以训练模型:

ada= fitensemble(datafeatures,dataclass,'AdaBoostM1',200,'tree');

我的问题:如何用一个分裂(两片叶子而不是许多叶子)创建弱学习器?我知道以下命令控制树的创建方式: t = ClassificationTree.template,但我只看到树深度的最小参数。如何设置上限

4

2 回答 2

0

用它:

t = templateTree('minleaf',5);
ens = fitensemble(X,Y,'AdaBoostM2',50,t);

你可以看到:

http://www.mathworks.com/help/stats/ensemble-methods.html

于 2014-08-28T07:30:50.087 回答
0

通过以下三个参数,您可以控制树的深度或叶子。

1- MaxNum:为 MaxNumSplits 设置一个较大的值以获得深度树

2- MinLeaf:设置 MinLeafSize 的小值以获得深度树

3- MinParent:设置 MinParentSize 的小值以获得深度树

这是您可以设置它们的一种方式。假设您使用 AdaBoost 来解决多分类问题。

DTree = templateTree('MinLeaf',1,'MinParent',4);

Ensemble=fitensemble(Train,Respones,'AdaBoostM2',500,DTree);

检查此链接以获取更多详细信息:

http://au.mathworks.com/help/stats/classification-trees-and-regression-trees.html#bsw6baj

于 2015-04-28T13:56:42.063 回答