Prediksi menggunakan glmnet di R


13

Saya mencoba memodelkan beberapa data menggunakan glmnetpaket dalam R. Katakanlah saya memiliki data berikut

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)

(Ini adalah penyederhanaan; data saya jauh lebih rumit.) Lalu saya menggunakan kode berikut untuk membuat model 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)

Saya menggunakan standardize=FALSEkarena data kehidupan nyata saya sudah terstandarisasi. Lalu saya ingin membuat prediksi atas set data baru. Katakanlah data baru saya adalah:

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

Saya berharap hasil mengandung 4 elemen (prediksi newdata), tetapi malah memberi saya matriks 4x398. Apa yang saya lakukan salah?

Jawaban:


14

Anda perlu menentukan nilai lambda yang ingin Anda prediksi responsnya. Yang perlu Anda lakukan adalah memanggil seperti seperti misalnya:

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.