如何用Matlab fitensemble控制树弱学习者的深度

时间:2013-09-28 12:18:56

标签: matlab classification adaboost

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

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

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

2 个答案:

答案 0 :(得分:0)

使用它:

t = templateTree('minleaf',5);
ens = fitensemble(X,Y,'AdaBoostM2',50,t);
你可以看到:

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

答案 1 :(得分:0)

使用以下三个参数,您可以控制树的深度或树状。

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

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

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

这是一种可以设置它们的方法。假设您使用AdaBoost进行多分类问题。

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

合奏= fitensemble(列车,阶跃响应,' AdaBoostM2' 500,DTREE);

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

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