Dim*_* K. 2 modeling regression r prediction random-forest
我正在尝试做一个物种分布模型,我正在遵循Robert J. Hijmans和Jane Elith的"使用R进行物种分布建模"指南.
一切似乎都没问题,但是当我尝试运行RandomForest时,我收到此错误消息:
"Need at least two classes to do classification".
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
library(randomForest)
model <- factor (pa) ~ Bio3 + Bio2 + Bio16 + Bio11 + aspect + depth + dem + my_epikrat + corine_2000
rfabies <- randomForest(model, data=envtrain, na.action=na.omit, ntrees=1000)
Error in randomForest.default(m, y, ...) :
Need at least two classes to do classification.
Run Code Online (Sandbox Code Playgroud)
什么可能导致这个问题?谁能帮我?
问题是您在转换pa
为因子后只有一个级别.最有可能的是,你只有在场.
您可以通过以下方式检查:
table(factor(envtrain$pa))
Run Code Online (Sandbox Code Playgroud)
如果您只有在场,则需要生成伪缺席.对于随机森林,此处建议使用与存在相同数量的伪缺勤.