Извлеките перехват из модели Caret LASSO

Я использую пакет каретки в R, чтобы соответствовать модели регрессии LASSO. Мой код работает нормально, однако я хотел бы извлечь Intercept для окончательной модели, чтобы я мог построить ключ оценки, используя выбранные предикторы и коэффициенты.

Например, если «Экстраверсия» — это переменная, которую я пытаюсь смоделировать с помощью элементов опроса, я хотел бы получить следующий ключ оценки:

 Intercept + Survey_Item_1*Slope + Survey_Item_2*Slope + and so on

FWIW, я могу извлечь коэффициенты для предикторов.

Мой код для справки:

##Create Training & test set
set.seed(9808)
ind <- sample(0:1, nrow(df), replace=T, prob=c(.75,.25))
train <- df[ind==0,]
test <- df[ind==1,] 
ctrl <- trainControl(method = "repeatedcv", number=5, repeats = 5)

##Train Lasso model
fit.lasso <- train(Extraversion ~., , data=train, method="lasso", preProc=c('scale','center','nzv'), trControl=ctrl)
fit.lasso
predict.enet(fit.lasso$finalModel, type='coefficients', s=fit.lasso$bestTune$fraction, mode='fraction')

##Fit models to test data
lasso_test<- predict(fit.lasso, newdata=test, na.action="na.pass")
postResample(pred = lasso_test, obs = test[,c(1)])

person RMAkh    schedule 16.01.2018    source источник
comment
См. этот вопрос для хорошего ответа в комментариях я получаю коэффициенты модели лассо"> stackoverflow.com/questions/41797792/. В общем, вы можете извлечь объект базового пакета с помощью caret_output$finalModel, с которым обычно проще работать.   -  person Johannes    schedule 28.01.2018