2017-11-11 178 views
1

我该如何构建一个具有我想要的深度的树?例如,我想创建一个只有3个深度的决策树。如何设置matlab后验概率决策树的最大深度?

load ionosphere 
treeModel = fitctree(X,Y) 
view(treeModel) 
view(treeModel,'mode','graph') 

此代码创建7深度树。我使用相同的数据集,但我想创建具有3或2深度的树。我如何在matlab上做?

回答

0

您可以使用MaxDepth名称 - 值对参数来控制最大深度。

阅读the documentation了解更多详情。

treeModel = fitctree(X,Y,'MaxDepth',3); 
+0

我在Mac OS上使用matlab版本R2015b。我之前写过你的代码,它发生错误:MaxDepth不是有效的参数名称。我需要使用新版本吗? R2017b? –

0

尽量在构建Matlab环境时尽可能灵活。此外,根据官方文档,请注意MaxDepth选项仅适用于在高阵列上使用fitctree

load ionosphere 
treeModel = CreateTreeModel(X,Y,3); 
view(treeModel) 
view(treeModel,'mode','graph') 

function tm = CreateTreeModel(x,y,depth) 
    if (nargin < 3) 
     tm = fitctree(x,y); 
     return; 
    end 

    if (depth < 1) 
     depth = 1; 
    end 

    tm = fitctree(x,y,'MaxDepth',depth); 
end 
+0

我在Mac OS上使用matlab版本R2015b。我之前写过你的代码,它发生错误:MaxDepth不是有效的参数名称。我需要使用新版本吗? R2017b? –