Прогнози з використанням glmnet в R


13

Я намагаюся моделювати деякі дані за допомогою glmnetпакету в Р. Скажімо, у мене є такі дані

training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3),
                         variable2 = c(1, 2, 3, 4, 5))
y <- c(1, 2, 3, 4, 5)

(Це спрощення; мої дані набагато складніші.) Тоді я використовував наступний код для створення моделі glmnet.

x <- as.matrix(training_x)
library(glmnet)
GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755,
                         nlambda=1000, standardize=FALSE, maxit=100000)

Я використовую, standardize=FALSEоскільки мої реальні дані вже стандартизовані. Тоді я хочу зробити передбачення для нового набору даних. Скажімо, мої нові дані:

newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, 3), 
                                variable2 = c(6, 2, 1, 3)))
results <- predict(object=GLMnet_model_1, newx, type="response")

Я б очікував, що результати містять 4 елементи (прогнози newdata), але замість цього це дає мені матрицю 4x398. Що я роблю неправильно?

Відповіді:


14

Вам потрібно вказати, на яке значення лямбда потрібно передбачити відповідь. Все, що вам потрібно зробити, це зателефонувати на зразок:

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.