如何在Matlab中创建一个用于增强的决策树桩?我的意思是有一些参数我可以发送到classregtree以确保我最终只有1级?我尝试修剪它并不总是给树桩(单切)。有时我只能得到2次切割(不平衡的树)。
我知道ClassificationTree.template和fitensemble函数,但是我想编写自己的增强算法,将它与LDA或fitensemble不提供的其他分类器一起使用。
由于
答案 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));
这样做你需要的吗?