所有物种分布建模文献都认为,当使用输出概率的模型(例如,RandomForests)预测物种的存在/不存在时,选择阈值概率来将物种实际分类为存在或不存在很重要,应该并不总是依赖默认值0.5。我需要一些帮助!这是我的代码:
library(randomForest)
library(PresenceAbsence)
#build model
RFfit <- randomForest(Y ~ x1 + x2 + x3 + x4 + x5, data=mydata, mytry = 2, ntrees=500)
#eventually I will apply this to (predict for) new data but for first I predict back to training data to compare observed vs. predicted
RFpred <- predict(RFfit, mydata, type = "prob")
#put the observed vs. predicted in the same dataframe
ObsPred <- data.frame(cbind(mydata), Predicted=RFpred)
#create auc.roc plot
auc.roc.plot(ObsPred, threshold = 10, xlab="1-Specificity (false positives)",
ylab="Sensitivity (true positives)", main="ROC plot", color=TRUE,
find.auc=TRUE, opt.thresholds=TRUE, opt.methods=9)
据此,我确定了我要用于根据预测概率对存在进行分类的阈值是0.7,而不是默认值0.5。我不完全了解如何处理此信息。创建输出图时,是否仅使用此阈值?我可以轻松地创建具有连续概率的映射输出,然后简单地重新分类那些值大于0.7的值,而那些值小于0.7的值。
或者,我是否想获取这些信息并使用cut-off参数重新运行randomForests建模?截断参数究竟在做什么?它会改变投票结果吗?(目前说这是“多数”)。如何使用该截止参数?我不了解文档!谢谢!