Rでglmnetを使用した予測


13

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)が含まれると予想されますが、代わりに4x398行列が得られます。私は何を間違えていますか?

回答:


14

応答を予測するラムダの値を指定する必要があります。あなたがする必要があるのは、たとえば次のように呼び出すことです:

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.