R语言随机森林模型推测,求算R²、RMSE

# 加载依赖包

if(!require(sp)) install.packages("sp")
if(!require(raster)) install.packages("raster")
if(!require(randomForest)) install.packages("randomForest")
if(!require(caret)) install.packages("caret")
if(!require(Metrics)) install.packages("Metrics")

# 加载测试数据样点和环境变量

data <- read.csv("Data.csv")

cov <- stack(list.files(pattern = ".tif$", all.files = T, full.names = F))

# 样点属性类型转换

data $YdProp<- as.numeric(as.character(data $YdProp))

# 转换为空间数据
data0 <- data 
coordinates(data0 ) <- ~ lon +lat

# 给推测数据赋值环境变量,根据坐标点信息赋值

for(i in 1:length(cov@layers)) {
  data0[, (4 + i)] <- extract(cov[[i]], data0 , method = 'simple')
  colnames(data )[4 + i] <- names(cov)[i]
}

colnames(data )[4:(4+length(cov@layers))]

# 推测模型

set.seed(123)
smp<-sample(nrow(data ),nrow(data )*0.7)
train=data0[smp,-c(1:3)]
test=data0[-smp,-c(1:3)]

rfmodel=randomForest(YdProp~.,data=train,ntree=1500,mtry=3)

#用测试集R²计算
predictions=predict(rfmodel,newdata=test)
rc = cor(predictions,test$YdProp)^2
# 计算RMSE
rmse <- rmse(test$YdProp, predictions)

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值