簡體   English   中英

將隨機森林變成決策樹-在R中使用randomForest包

[英]Turning a Random Forest into a Decision Tree - Using randomForest package in R

是否可以生成決策樹的樹完全相同? 請注意,這是一個實驗性問題。 據我了解,與單個決策樹相比,隨機森林具有兩個導致“隨機性”的參數:

1)在決策樹的每個節點上隨機采樣的要素數量,以及

2)繪制一些訓練示例來創建樹。

直觀地講,如果我將這兩個參數設置為其最大值,則應避免使用“隨機性”,因此,每個創建的樹都應該完全相同。 因為所有樹木都是完全相同的,所以無論森林中樹木的數量或不同的行徑(即不同的種子值),我都應該獲得相同的結果。

我已經使用R中的randomForest庫測試了這個想法。我認為上述兩個參數分別對應於'mtry'和'sampsize'。 我將這些值設置為最大值,但是不幸的是,仍然存在一些隨機性,因為OOB誤差估計值取決於森林中樹木的數量?

您能否幫助我理解如何充分地使用R中的randomForest庫的參數來消除隨機決策林中的所有隨機性?

除了mtry和sampsize之外,randomForest()中還有另一個相關的參數:replace。 默認情況下,通過替換來完成用於生長每棵樹的數據點的采樣。 如果要在所有樹中使用所有數據點,則不僅需要將sampsize設置為數據點的數量,還需要設置replace = FALSE。

這是一個玩具示例,展示了您可以得到一棵相同樹木的森林:

庫(隨機森林)

set.seed(17)

x <-矩陣(sample(5,50,replace = TRUE),10,5)

y <-factor(sample(2,10,replace = TRUE))

rf1 <-randomForest(x,y,mtry = ncol(x),sampsize = nrow(x),replace = FALSE,ntree = 5)

然后,可以使用getTree(rf1,1)等檢查所有樹是否相同。

暫無
暫無

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

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