2012-12-04 80 views
2

我感到當我跑這樣的代碼我得到不同的結果感到困惑ytest選項:預測隨機森林包函數給出了隨機森林不同的結果與XTEST和

set.seed(100) 
test1<-randomForest(BinaryY~., data=Xvars, trees=51, mtry=5, seed=200) 
predict(test1, newdata=cbind(NewBinaryY, NewXs), type="response") 

和驗證碼:

set.seed(100) 
test2<-randomForest(BinaryY~.,data=Xvars,trees=51, mtry=5,seed=200,xtest=NewXs, ytest=NewBinY) 

我認爲兩個森林的混淆矩陣由於具有相同的種子設置而是相同的,但它們與預測值以及投票不同。起初我認爲這只是關係破裂的方式,所以我把樹的數量改成了奇數,所以沒有關係了。

任何人都可以闡明我所希望的是一種簡單的疏忽嗎?我只是無法弄清楚爲什麼應用於NewBinaryYs和NewX數據集的這兩個森林的預測結果不一樣。

此外,我注意到,結果是相同的,當我只使用1棵樹。

感謝您的任何提示和幫助。

+0

您可以使用重現此行爲的數據構造一個小而完整的示例嗎? – joran

回答

1

我相信xtest和ytest會爲隨機森林運行本身指定測試集,以便它使用它而不是隨機選擇的OOB樣本。如果是這種情況,那麼您的兩次運行使用不同的測試數據集,創建不同的結果。