2017-02-03 12 views
-1

以下のエラーメッセージのトラブルシューティングには苦労しています。私はtitanicデータセットでランダムなフォレストモデルを実行しようとしています。このエラーを回避する方法はありますか?ツリーのレベルをチェックするコードはありますか? test1における予測変数の1つは、元のデータセット内に存在しない値を有する因子変数であるためRのrandomForestエラーを回避する方法(新しいデータの予測子は一致しません)

Error in predict.randomForest(my_rf_model, test1) : Type of predictors in new data 
    do not match that of the training data. 

答えて

1

これはおそらく生じています。たとえば、titanicの列がgroupで、値がAまたはBで、test1$groupの値がCの場合、そのエラーが発生します。例えば

:predict.randomForest(RF、NEWDATA = NEWDAT)で

data(iris) 
iris$group = factor(sample(c("A","B"), nrow(iris), replace=TRUE)) 
rf <- randomForest(Species ~ ., data=iris) 

newdat = iris 
newdat$group = "C" 

predict(rf, newdata=newdat) 

エラー:新しいデータで 予測因子のタイプは、トレーニングデータのそれと一致していません。

+0

トレーニングセットとテストセットのレベルが異なる場合。もし 'titanic $ group'がレベル" A "と" B "を持っていたとしたら、' test1 $ group'はレベル "A"だけの要因でした。つまり、これを引き起こす余分なレベルに加えて、レベルが失われている可能性もあります。 –

関連する問題