создание параметра настройки для Caret в R

Я пытался использовать пакет каретки для проверки модели k-кратных складок. Я успешно выполнил lm (), но когда я пытаюсь сделать это с кареткой, это терпит неудачу. шаги:

 train_control <- trainControl(method="cv", number=10)


 grid <- expand.grid(.fL=c(0), .usekernel=c(FALSE))


 model <- train(FantasyPTS ~ Shoots + Height + Weight + Birthyear + 
              age + Draft_Year + Overall_Draft_Num + Draft_Team + Draft_Age + 
             GAA + SVPCT + GSAA + QS + QS. + RBS + GPS, data=nhlgoalies, trControl=train_control, method="lm", tuneGrid=grid)

приводит к

Error in train.default(x, y, weights = w, ...) : 
  The tuning parameter grid should have columns intercept

Я всегда понимал, что модель должна генерировать перехват. Я знаю из документации, что ему нужен перехват параметра, но я не знаю, как его сгенерировать до создания самой модели?


person ike    schedule 13.10.2017    source источник
comment
попробуйте указать любое случайное значение перехвата и проверьте   -  person Hardik Gupta    schedule 13.10.2017


Ответы (1)


Вы не даете ссылку на набор данных, поэтому я, например, создаю свой.

    ## Make data
ncol <- 3
Xs       <- matrix(rnorm(300*ncol), nrow = 300, ncol = ncol) %>% as.tibble()
Yvec     <- rnorm(300)
train_control <- trainControl(method="cv", number=10)

    ## Fit lm model using train
fit  <- train(x= Xs, y = Yvec, method = "lm",trControl = train_control)

Так что вам просто не нужно указывать параметр tuneGrid, и все будет в порядке.

person Alex    schedule 13.10.2017
comment
хорошо, это работает хорошо, и я понимаю, почему мое добавление tuneGrid без параметра перехвата привело к сбою вызова, но мне любопытно, как / почему, когда люди используют tuneGrid, и почему это то, что можно использовать? в основном, как решить сделать это и использовать это или нет, и как это влияет на производительность? - person ike; 15.10.2017