楼主: SuperQr
1311 0

[问答] 留一法这个R语言函数哪里有问题么? 和我手动算的一直不一样。 [推广有奖]

  • 0关注
  • 0粉丝

初中生

14%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
279 点
帖子
5
精华
0
在线时间
16 小时
注册时间
2017-8-30
最后登录
2020-6-26

楼主
SuperQr 发表于 2019-7-3 18:41:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
函数如下:

cv.lm <- function(obj) {
data <- data.frame(y = obj$model[,1], x = obj$model[, -1])
N <- nrow(data)
{
   ytest <- data[, 1]
   newrsq <- numeric(N)
  ypred <- numeric(N)
   for(i in 1:N){
     newtrain <- data[-i, ]
     xtest <- data[i, -1]
   newfm <- lm(y ~., data = newtrain)
    newrsq <- summary(newfm)$r.squared
   ypred <- predict(newfm, xtest)
      }
  }
q.squared <- 1 - (sum((ytest - ypred)^2) / sum((ytest - mean(ytest))^2))
SDEP <- sqrt(sum((ytest - ypred)^2) / N)
return(list(q.squared = q.squared, SDEP = SDEP, newrsq = newrsq))
}




q.squared我计算出来的一直是负数……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:留一法 交叉验证

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-4 23:14