[英]Using and understanding MATLAB's TreeBagger (a random forest) method
我正在尝试使用MATLAB的TreeBagger方法,该方法实现了一个随机森林。
我得到了一些结果,并且可以在训练分类器之后在MATLAB中进行分类。 但是,我想“看”这些树,或者想知道分类的工作原理。
例如,让我们运行这个最小的示例,我在这里找到: Matlab treebagger示例
因此,我最终得到了存储在“ B”中的分类器。 如何检查树木? 就像查看每个节点一样,看看是根据哪个标准(例如要素)做出决定的? 输入B
返回:
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中原型化的随机森林代码移植到任何其他语言。 然后,您需要了解每棵树的工作方式,以便可以用目标语言实现它。
希望您能理解,或理解我的询问;)
感谢您的回答!
最好的,帕特里克
通过运行view()
命令了解如何检查树。 例如,检查示例的第一棵树:
>> 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()
命令,也可以将树可视化:
view(B.Trees{1},'mode','graph')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.