创建一个树桩Matlab

时间:2011-12-06 14:36:13

标签: matlab tree decision-tree

如何在Matlab中创建一个用于增强的决策树桩?我的意思是有一些参数我可以发送到classregtree以确保我最终只有1级?我尝试修剪它并不总是给树桩(单切)。有时我只能得到2次切割(不平衡的树)。

我知道ClassificationTree.template和fitensemble函数,但是我想编写自己的增强算法,将它与LDA或fitensemble不提供的其他分类器一起使用。

由于

2 个答案:

答案 0 :(得分:4)

我相信您可以将minparent参数设置为等于观察次数。使用虹膜示例数据:

>> load fisheriris;
>> t = classregtree(meas,species,...
                 'names',{'SL' 'SW' 'PL' 'PW'}, 'minparent', 150)

t = 

Decision tree for classification
1  if PL<2.45 then node 2 elseif PL>=2.45 then node 3 else setosa
2  class = setosa
3  class = versicolor

不确定,但最终可能会更快地手动编码 - 特别是如果您正在合并其他自定义代码。祝你好运!

答案 1 :(得分:0)

如果t1是您的树,由classregtree返回,我认为您可以使用命令

创建决策树桩t2
t2 = prune(t1, 'level', max(prunelist(t1)-1));

这样做你需要的吗?