Хребет регрессии: ошибка в gl mnet количество наблюдений - PullRequest
0 голосов
/ 04 мая 2020

Я пробовал регрессию Риджа на наборе данных, называемом redvnew,

  1. , устанавливая обучающие и тестовые наборы
set.seed(1)
train.size <-  nrow(redvnew) / 2
train <-  sample(1:nrow(redvnew), train.size)
test <-  -train
redvnew.train <-  redvnew[train, ]
redvnew.test <-  redvnew[test, ]

dim(redvnew.train)
dim(redvnew.test)
Установите регрессионную модель гребня на тренировочном наборе, выбрав $ \ lambda $ путем перекрестной проверки. Сообщить об ошибке теста.
library(glmnet)
set.seed(1)
train.mat <-  model.matrix(y ~ x2+log(x3)+x4+x5+x6, data = redvnew.train)
test.mat <-  model.matrix(y ~ x2+log(x3)+x4+x5+x6 , data = redvnew.test)
grid <-  10 ^ seq(4, -2, length = 100)
mod.ridge <-  cv.glmnet(train.mat, redvnew.train[  , "Y.house.price.of.unit.area"], 
                        alpha = 0, lambda = grid, thresh = 1e-12)
lambda.best <-  mod.ridge$lambda.min
lambda.best
ridge.pred <-  predict(mod.ridge, newx = test.mat, s = lambda.best)
mean((redvnew.test[, "Y.house.price.of.unit.area"] - ridge.pred)^2)

Я получаю эту ошибку, говоря:

Ошибка в gl mnet (x, y, веса = веса, смещения = смещения, лямбда = лямбда,: количество наблюдений в y (207), не равное количеству строк x (414)

Может ли какой-либо PLS объяснить мне это? большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...