2012-12-04 82 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样本。如果是这种情况,那么您的两次运行使用不同的测试数据集,创建不同的结果。