У меня есть несколько случайно сгенерированных данных, которые я пытаюсь построить регрессионную модель. Вот данные:
set.seed(1)
x <- rnorm(100)
y <- x - 2 * x^2+rnorm(100)
Я хочу выполнить LOOCV и найти ошибку, которая возникает в результате подгонки модели с использованием метода наименьших квадратов. Вот как это делается с помощью boot
:
library(boot)
Data = data.frame(x, y)
set.seed(1)
glm.fit = glm(y ~ x)
cv.glm(Data, glm.fit)$delta
## [1] 5.891 5.889
Есть ли способ повторить это с помощью caret
? Я могу зайти так далеко, но не могу понять, есть ли способ извлечь ошибку из model1
:
library(caret)
set.seed(1)
df <- data.frame(x,y)
control <- trainControl(method = "LOOCV")
model1 <- train(y ~ x, data = df, trControl = control, method = "lm")