首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用和理解MATLAB的TreeBagger (随机森林)方法

利用和理解MATLAB的TreeBagger (随机森林)方法
EN

Stack Overflow用户
提问于 2015-09-23 12:55:34
回答 2查看 7.2K关注 0票数 2

我正在尝试使用MATLAB的TreeBagger方法,它实现了一个随机森林。

我得到了一些结果,并且在训练分类器之后,可以在MATLAB中进行分类。然而,我想“看到”这些树,或者想知道分类是如何工作的。

例如,让我们运行这个最小的例子,我在这里发现:Matlab树袋实例

所以,我最终得到了一个存储在"B“中的分类器。我怎样才能检查这些树?就像查看每一个节点,看看做出决定的标准(例如特性)是什么?输入B返回:

代码语言:javascript
复制
B = 

  TreeBagger
Ensemble with 20 bagged decision trees:
           Training X:                [6x2]
           Training Y:                [6x1]
               Method:       classification
                Nvars:                    2
         NVarToSample:                    2
              MinLeaf:                    1
                FBoot:                    1
SampleWithReplacement:                    1
 ComputeOOBPrediction:                    0
     ComputeOOBVarImp:                    0
            Proximity:                   []
           ClassNames:             '0'             '1'

我看不见像B.trees之类的东西。

接下来的一个问题是:如何将您在MATLAB中原型的随机森林代码移植到任何其他语言。然后,您需要知道每棵树是如何工作的,这样您就可以用目标语言实现它。

我希望你明白我的意思,或者理解我的问题;)

谢谢你的回答!

最好,帕特里克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-24 09:18:42

通过运行view()命令,了解如何检查树。例如,用于检查示例的第一棵树:

代码语言:javascript
复制
>> view(B.Trees{1})
Decision tree for classification
1 if x2<650 then node 2 elseif x2>=650 then node 3 else 0
2 if x1<4.5 then node 4 elseif x1>=4.5 then node 5 else 1
3 class = 0
4 class = 0
5 class = 1

通过向view()命令传递更多的参数,树也可以可视化:

代码语言:javascript
复制
view(B.Trees{1},'mode','graph')

票数 3
EN

Stack Overflow用户

发布于 2018-06-15 08:34:27

要查看多棵树,只需使用循环:

代码语言:javascript
复制
for n=1:30 %number of tree
view(t.Trees{n});
end

你可以在这里找到源头

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32740212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档