关于如何在 Matlab 中创建用于提升的决策树桩的任何想法?我的意思是我可以发送一些参数到 classregtree 以确保我最终只有 1 个级别?我试过修剪,但它并不总是给树桩(单剪)。有时我只能得到 2 个切口(不平衡的树)。
我知道 ClassificationTree.template 和 fitensemble 函数,但我想编写自己的提升算法以将其与 LDA 或 fitensemble 未提供的其他分类器一起使用。
谢谢
关于如何在 Matlab 中创建用于提升的决策树桩的任何想法?我的意思是我可以发送一些参数到 classregtree 以确保我最终只有 1 个级别?我试过修剪,但它并不总是给树桩(单剪)。有时我只能得到 2 个切口(不平衡的树)。
我知道 ClassificationTree.template 和 fitensemble 函数,但我想编写自己的提升算法以将其与 LDA 或 fitensemble 未提供的其他分类器一起使用。
谢谢
我相信您可以将minparent
参数设置为等于您的观察次数。使用 iris 示例数据:
>> 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
不确定,但最终手动编码可能会更快 - 特别是如果您无论如何都要合并其他自定义代码。祝你好运!
如果t1
是您的树,由 返回,我认为您可以使用命令classregtree
创建决策树桩t2
t2 = prune(t1, 'level', max(prunelist(t1)-1));
这能满足你的需要吗?