Как заставить строки X & Y соответствовать? - PullRequest
0 голосов
/ 21 июня 2019

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

Я нашел что-то похожее с поиском в Google, но их данные генерируются случайным образом и не предоставляются, как у меня. Данные представляют собой большой набор данных с более чем 500 000 наблюдений и 670 переменных.

 library(rsample)
 library(glmnet)
 library(dplyr)
 library(ggplot2)

 # Create training (70%) and test (30%) sets
 # Use set.seed for reproducibility

 set.seed(123)

 alumni_split<-initial_split(alumni, prop=.7, strata = "Id.Number")
 alumni_train<-training(alumni_split)
 alumni_test<-testing(alumni_split)

 #----
 # Create training and testing feature model matrices and response 
 vectors.
 # we use model.matrix(...)[, -1] to discard the intercept
 alumni_train_x <- model.matrix(Id.Number ~ ., alumni_train)[, -1]
 alumni_test_x <- model.matrix(Id.Number ~ ., alumni_test)[, -1]

 alumni_train_y <- log(alumni_train$Id.Number)
 alumni_test_y <- log(alumni_test$Id.Number)

 # What is the dimension of of your feature matrix?
 dim(alumni_train_x)

 #---- [HERE]
 # Apply Ridge regression to alumni data
   alumni_ridge <- glmnet(alumni_train_x, alumni_train_y, alpha = 0)

Сообщение об ошибке (с кодом):

alumni_ridge <- glmnet (alumni_train_x, alumni_train_y, alpha = 0) Ошибка в glmnet (alumni_train_x, alumni_train_y, alpha = 0): количество наблюдений в y (329870), не равное количеству строк х (294648) </p>

...