我已经在R studio中运行了RF模型,我正在尝试对其进行评估。我遇到了以下16条警告消息:
在Ops.factor(a,tr [i])中:“ <”对因子没有意义。评估通过给出以下结果进行:
class:ModelEvaluation
n个存在:39
n缺席:86
AUC:1
cor:1
最大TPR + TNR为:0.9999
但是,由于警告消息和threshold()
的结果,我认为这有问题:
kappa spec_sens无遗患病率equal_sens_spec敏感性
阈值0.9999 0.9999 NA 0.9999 0.9999 0.9999
警告信息: 在max(which(x @ confusion [,“ fn”] == 0))中: 没有max的必填项;返回-Inf
这是我的代码:
str(finaldata1)
'data.frame': 125 obs. of 9 variables:
$ ID : Factor w/ 125 levels "1","103(0)","103(1)",..: 1 34 35 36 46 107 108 109 110 116 ...
$ PA : int 1 1 1 1 1 1 1 1 1 1 ...
$ SST : num 24.1 21 21 21 22.2 ...
$ Salinity : num 38.6 38.2 38.2 38.2 38.2 ...
$ Nitrogen : num 0.523 0.886 0.891 0.854 0.916 ...
$ Phosphorus : num 0.0056 0.0115 0.0117 0.0116 0.0131 ...
$ Depth : num -11 -7.4 -5.4 -5.08 -5.4 -23 -36.4 -24 6 -11 ...
$ Distance.to.coast: num 1527 1083 830 646 1084 ...
$ Slope : num 1.263 0.293 0.299 2.089 0.383 ...
absence<-subset(finaldata1, PA=='0')
absence_dt<-data.frame(absence)
presence<-subset(finaldata1, PA=='1')
presence_dt<-data.frame(presence)
library(randomForest)
RF.model<-randomForest(as.factor(PA)~Salinity+Nitrogen+Phosphorus+Depth+Distance.to.coast+Slope, data=finaldata1)
library(dismo)
ev <- evaluate(presence_dt, absence_dt, RF.model)
threshold(ev)
任何建议或帮助都很好。