Я получил странное поведение от randomForest: мне иногда предсказывают NA на моем тренировочном наборе данных !! Это абсолютно случайно, потому что два прогона дают разные результаты!
> rf <- randomForest(formula(rfFormula), data = df2, ntree = 20, keep.forest = TRUE)
> pr <- predict(rf, type = "response")
> any(is.na(pr))
[1] TRUE
> which(is.na(pr))
1283
1001
>
> rf <- randomForest(formula(rfFormula), data = df2, ntree = 20, keep.forest = TRUE)
> pr <- predict(rf, type = "response")
> any(is.na(pr))
[1] FALSE
> which(is.na(pr))
named integer(0)
В моем наборе данных нет NA:
> any(is.na(df2))
[1] FALSE
Так почему же это так? Это ошибка в randomForest
? Или какая-то проблема, связанная с предсказаниями OOB?
1) Обратите внимание, что в формуле я использую 119 переменных.
2) Обратите внимание, что вместо predict(rf, df2, type = "response")
я использую predict(rf, type = "response")
, это было бы ошибкой . Мне нужно использовать первый способ, чтобы получить прогнозы OOB: -)