我正在尝试使用MATLAB的TreeBagger方法,它实现了一个随机森林。
我得到了一些结果,并且在训练分类器之后,可以在MATLAB中进行分类。然而,我想“看到”这些树,或者想知道分类是如何工作的。
例如,让我们运行这个最小的例子,我在这里发现:Matlab树袋实例
所以,我最终得到了一个存储在"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中原型的随机森林代码移植到任何其他语言。然后,您需要知道每棵树是如何工作的,这样您就可以用目标语言实现它。
我希望你明白我的意思,或者理解我的问题;)
谢谢你的回答!
最好,帕特里克
发布于 2015-09-24 09:18:42
通过运行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')

发布于 2018-06-15 08:34:27
https://stackoverflow.com/questions/32740212
复制相似问题