Оставьте одну перекрестную проверку вручную - PullRequest
1 голос
/ 14 апреля 2019

Я пытаюсь создать ручную опущенную перекрестную проверку.

У меня есть мой код здесь, и ironslag содержит 53 значения. Тем не менее, моя подходящая модель содержит только 52, поэтому мне было интересно, что я сделал не так.


for(i in 1:53){

  validation<-ironslag[i,]
  training<-ironslag[-i,]
  model1<-lm(magnetic ~ chemical, data = training)

  fitted_value <- predict(model1, training)}

1 Ответ

1 голос
/ 14 апреля 2019

Я внес некоторые изменения в ваш код, которые, как мне кажется, должны помочь!

 #First initialize the output vector as an empty object outside the loop.
        fitted_value <- NULL
        for(i in 1:53){
        #you did this part right
          validation<-ironslag[i,]
          training<-ironslag[-i,]
          model1<-lm(magnetic ~ chemical, data = training)
        #when you fit the model, use the newdata argument to predict on a new row
        #also, fitted_value needs the index [i], so the each loop doesn't overwrite the previous
          fitted_value[i] <- predict(model1, newdata = validation)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...