簡體   English   中英

使用和理解MATLAB的TreeBagger(隨機森林)方法

[英]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')

在此處輸入圖片說明

要查看多棵樹,只需使用loop:

for n=1:30 %number of tree
view(t.Trees{n});
end

你可以在這里找到源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM