2

NAが多いデータセットを扱っています。最初の 6 列には NA がないことがわかっています。最初の列は ID 列なので省略します。

次のコードを実行して、応答列に値を持つ行のみを選択します。

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

次に、次のコードを使用して、randomForest のデータ セットとして sub1 を使用します。

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値は out-of-bag セットの予測であるためです。また、ツリーの数が非常に少ない場合、out-of-bag セットに存在しないケースもあります。これは、このセットがランダムに形成されるためです。

于 2012-04-28T21:24:00.697 に答える