我在运行这样的代码时获得的不同结果让我感到困惑:
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 :(得分:1)
我相信xtest和ytest指定随机林运行本身的测试集,因此它使用它而不是随机选择的OOB样本。如果是这种情况,那么您的两次运行将使用不同的测试数据集,从而产生不同的结果。