Как использовать каретку для многомерной регрессии для регуляризованной регрессии с использованием библиотеки gl mnet? - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь выполнить многомерную регрессию, в частности, Лассо и Эласти cnet из примерно 500 независимых переменных на 215 переменных ответа. Я знаю, что можно сделать многомерную регрессию, используя пакет gl mnet с аргументом family = "mgaussian", но как это сделать с помощью оболочки-каретки. Разве CareT не поддерживает модель с несколькими ответами?

Ниже приведена моя попытка достичь этого:

cctrl1 <- trainControl(method="repeatedcv", number=10,repeats=3, returnResamp="all",verboseIter = T,savePredictions = T)

EnetGrid <- expand.grid(alpha = seq(0,1,by=0.1),lambda = seq(0.001,0.1,by = 0.001))

set.seed(849)
enet_cv_model <- train(trainX, trainY, 
method = "glmnet", 
trControl = cctrl1,
metric = c("RMSE","Rsquared"),
family='mgaussian',
tuneGrid =EnetGrid)

Это сообщение об ошибке, которое я получаю.

Ошибка: ошибка в check_dims (x = x, y = y): nrow (x) == n не TRUE

...