R에서 glmnet을 사용한 예측 variable2 =

glmnetR 의 패키지를 사용하여 일부 데이터를 모델링하려고 합니다. 다음 데이터가 있다고 가정 해 봅시다.

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되지만 대신 4×398 행렬이 나타납니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?



답변

반응을 예측할 람다 값을 지정해야합니다. 당신이해야 할 일은 다음과 같이 전화하는 것입니다 :

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")