のステップ機能を検証:クロスは、私はステップ関数からエラーを取得しようとしていますが、私はエラーを取得する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]
代わりに自動で私は、特定のブレークを使用cut()
インデックスを生成する場合、私はcv.glm()$delta [1]
からエラーを取得することができます:これらはまったく同じ休憩cut(age,4)
になりますにもかかわらず
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]'
。
何が起こっているのか、エラーを修正する方法は誰でも説明できます。
私の目標は、12種類のステップモデルからエラーを見つけて、cv.glm()$delta
エラーに基づいて最良のものを選ぶことです。
ありがとうございましたそれをはっきりと説明するために! –
@OPolakunnilあなたは大歓迎です –