R'de glmnet kullanarak tahminler


13

glmnetR'deki paketi kullanarak bazı verileri modellemeye çalışıyorum. Diyelim ki aşağıdaki verilere sahibim

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)

(Bu bir basitleştirme; verilerim çok daha karmaşık.) Sonra glmnet modeli oluşturmak için aşağıdaki kodu kullandım.

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

Ben kullanıyorum standardize=FALSEbenim gerçek hayat verileri zaten standardize çünkü. Sonra yeni bir veri kümesi üzerinde tahmin yapmak istiyorum. Diyelim ki yeni verilerim:

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")

Sonuçların 4 element (tahminleri newdata) içermesini beklerdim , ama bunun yerine bana 4x398 matris verir. Neyi yanlış yapıyorum?

Yanıtlar:


14

Yanıtı tahmin etmek istediğiniz lambda değerini belirtmeniz gerekir. Tek yapmanız gereken, örneğin:

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.