当我像这样运行代码时,我得到了不同的结果,这让我感到困惑:
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) 由于相同的种子设置,我认为这两个森林的混淆矩阵是相同的,但它们与预测值和投票结果不同。起初,我认为这只是纽带被打破的方式,所以我将树的数量改为奇数,这样就不再有纽带了。
有没有人能说明我希望的是一个简单的疏忽?我就是弄不明白为什么这两个森林的预测结果应用于NewBinaryY和NewX数据集的结果会不一样。
此外,我注意到,当我只使用一棵树时,结果是相同的。
感谢您的任何提示和帮助。
发布于 2013-02-24 15:38:50
我相信xtest和ytest为随机森林运行本身指定了测试集,因此它使用该测试集而不是随机选择的OOB样本。如果是这种情况,那么您的两次运行将使用不同的测试数据集,从而产生不同的结果。
https://stackoverflow.com/questions/13696235
复制相似问题