RandomForest包中的预测函数给出了带有xtest和ytest选项的randomForest的不同结果

时间:2012-12-04 04:45:45

标签: r

我在运行这样的代码时获得的不同结果让我感到困惑:

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棵树时结果是一样的。

感谢任何提示和帮助。

1 个答案:

答案 0 :(得分:1)

我相信xtest和ytest指定随机林运行本身的测试集,因此它使用它而不是随机选择的OOB样本。如果是这种情况,那么您的两次运行将使用不同的测试数据集,从而产生不同的结果。