我需要在随机森林模型上执行ANOVA
。调用与我用于glm
和gam
模型的代码相同的方法,无法调用我的rf
模型。我应该使用什么代码使其正常工作?
我正在使用R中的sdm软件包来构建我的rf模型。 射频模型可以正常运行,但是,我无法在结果中使用ANOVA函数。
MRF <- sdm(presence~.,data=dM,methods='rf',replication='sub',test.percent=20)
anova(MRF)
UseMethod(“ anova”)中的错误: 没有适用于'sdmModels
类对象的'anova'方法
我也尝试过此选项:
m <-MRF@models$presence$rf$`1`@object
anova(m)
UseMethod(“ anova”)中的错误: 没有适用于“ anova”的适用方法应用于类“ c('randomForest.formula','randomForest')”的对象
答案 0 :(得分:0)
您可以计算Variable Importance
来查看哪些因素最重要,这与anova
类型II对逻辑回归模型所做的类似:
library(caret)
trControl <- trainControl(classProbs = TRUE,
method = "cv",
number = 5, # 5-fold cross validation
search ="grid",
savePredictions = TRUE,
summaryFunction = twoClassSummary)
tuneGrid <- expand.grid(.mtry = 18) # Configurable
rf_model <- train(presence~.,
data = dM,
method = "rf",
tuneGrid = tuneGrid_competitive_jam,
trControl = trControl,
importance = TRUE,
maxnodes = 5,
nodesize = 14,
ntree = 100)
varImp(rf_model)