交叉驗證階躍函數我試圖從階躍函數錯誤,但我得到一個錯誤:R中
library(boot)
library(ISLR)
attach(Wage)
set.seed(5082)
cv.error <- rep (0,12)
for (i in 2:13){
step.fit = glm(wage~cut(age,i), data = Wage)
cv.error[i] <- cv.glm(Wage ,step.fit, K= 10)$delta [1]
}
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
cut(age, i) has new levels (17.9,43.5], (43.5,69.1]
我可以從cv.glm()$delta [1]
如果不是自動生成cut()
索引i使用特定減免得到錯誤:
fit <- glm(wage~cut(age,breaks=c(17.9,33.5,49,64.5,80.1)), data = Wage)
cv.error <- cv.glm(Wage ,step.fit, K= 10)$delta [1]'
即使這些是cut(age,4)
完全相同的中斷。
任何人都可以解釋發生了什麼或如何解決錯誤。
我的目標是嘗試從12個不同的步驟模型中找到錯誤,並根據cv.glm()$delta
錯誤選擇最佳的錯誤。
謝謝爲了解釋清楚! –
@OPolakunnil你很受歡迎 –