[英]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.