2

大学のプロジェクトでは、glmnet 関数を使用してモデルを見つける必要があります。この関数は、変数の推定と選択を同時に行う必要があります。

インターネットで見つけた例と同様に、次の R コードがあります。

install.packages("glmnet")

library(glmnet)

n =sample.size=54

npar=16

x=matrix(rnorm(n*npar), n, npar)

y <- sample(1:2, n, replace=TRUE)

fit_lasso <- glmnet(x,y,family="poisson")

fit_lasso

coef(fit_lasso, s=c(0.01,0.1))

predict(fit_lasso,newx=x[1:10,], s=c(0.01,0.005))

いくつかの出力が得られますが、この手順で選択される変数がどれかわかりません。

選択した変数を取得するために出力のどこを見なければならないかを明確にすることで、誰かが私を助けてくれますか?

よろしくお願いします。

敬具、

ルーヴェン・カトリック大学のピーター・スチューデント

4

1 に答える 1

2

あなたの主な問題は、あなたの例が識別可能な変数名を最初から与えていないことだと思います。与えられたように、コードには次のものがあります。

> coef(fit_lasso, s=c(0.01,0.1))
17 x 2 sparse Matrix of class "dgCMatrix"
                       1             2
(Intercept)  0.401355700  0.4418204837
V1           0.056974354  .           
V2          -0.084883137 -0.0005052818
V3           0.020746643  .           
V4           0.038719413  .           
V5           0.029015126  .           
V6          -0.002403163  .           
V7           0.015661047  .           
V8          -0.063540718  .           
V9           .            .           
V10         -0.005408579  .           
V11         -0.038804146  .           
V12          0.070699231  .           
V13          0.028897285  .           
V14          0.032890192  .          

したがって、ラムダ = 0.01 の場合、選択される変数は列 1 の非ヌルであり、ラムダ = 0.1 の場合、選択される変数は切片と V2 のみです。列名を割り当てることで、例を少し明確にすることができます。

colnames(x) <- letters[1:16]

> coef(fit_lasso, s=c(0.01,0.1))
17 x 2 sparse Matrix of class "dgCMatrix"
                       1             2
(Intercept)  0.401355700  0.4418204837
a            0.056974354  .           
b           -0.084883137 -0.0005052818
c            0.020746643  .           
d            0.038719413  .           
e            0.029015126  .           
f           -0.002403163  .           
g            0.015661047  .           
h           -0.063540718  .           
i            .            .           
j           -0.005408579  .           
k           -0.038804146  .           
l            0.070699231  .           
m            0.028897285  .           
n            0.032890192  .           
o            .            .           
p            0.026287805  .           
于 2014-06-16T18:23:46.173 に答える