2

我正在使用一个有很多 NA 的数据集。我知道前 6 列没有任何 NA。由于第一列是 ID 列,因此我将其省略。

我运行以下代码以仅选择在响应列中具有值的行:

sub1 <- TrainingData[which(!is.na(TrainingData[,70])),]

然后,我使用以下代码将 sub1 用作 randomForest 中的数据集:

set.seed(448)
RF <- randomForest(sub1[,c(2:6)], sub1[,70]
    ,do.trace=TRUE,importance=TRUE,ntree=10,,forest=TRUE)

然后我运行这段代码来检查 NA 的输出:

> length(which(is.na(RF$predicted)))
[1] 65

如果输入的数据是干净的,我无法弄清楚为什么我会得到 NA。

有什么建议么?

4

1 回答 1

5

我认为你应该使用更多的树。因为predicted值是袋外集的预测。如果树的数量非常少,则袋外集合中永远不会出现某些情况,因为该集合是随机形成的。

于 2012-04-28T21:24:00.697 回答