我只是想大致了解为什么randomForest中的预测变量顺序会影响OOB估计。我想我可能知道答案,但我不确定。我猜测它与树木的构建方式有关(从第一个预测器开始,基于第二个预测器分支出来,依此类推。 例如,在泰坦尼克数据集中,我创建了以下randomForests:
rf.train.9 <- titanic.full[1:891, c("Pclass", "Age", "Fare", "FamSize", "Sex")]
rf.label <- as.factor(train$Survived)
set.seed(1234)
rf.9 <- randomForest(x = rf.train.9, y = rf.label, importance = TRUE, ntree = 1000)
rf.9
和
rf.train.9 <- titanic.full[1:891, c( "Age", "Fare", "FamSize", "Sex", "Pclass")]
rf.label <- as.factor(train$Survived)
set.seed(1234)
rf.9 <- randomForest(x = rf.train.9, y = rf.label, importance = TRUE, ntree = 1000)
rf.9
这里唯一的变化就是将Pclass从模型中的第一个预测变为最后一个预测变量。第一次运行计算出更好的OOB(15.6%vs 15.82)
如果我对rf使用的过程的理解是正确的,那么它会产生一个更重要的问题:
是否存在测试rf预测变量顺序的常见做法?或者更像是一种艺术创作?
非常感谢。