2
多項式モデルで構築されたcv.glmnet
オブジェクトの特定のlambda
に対応する係数をどのように抽出しますか?私が二項モデルのために使うかもしれない構文を使ってそれをしようとすると、coef
関数は、特定のスパース行列ではなく、係数スパース行列のリストを返します。multinomial cv.glmnetの係数を抽出する
例:私はこれを実行したとき
tempcv <- cv.glmnet(x=as.matrix(iris[,-5]), y=iris[,5], family="multinomial",
nfolds=20, alpha=0.5)
coefsMin <- coef(tempcv, s="lambda.min")
は、私が得た:
> coefsMin[[3]]
5 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) -19.091925
Sepal.Length .
Sepal.Width -3.755938
Petal.Length 4.355219
Petal.Width 8.909600
> coefsMin[[2]]
5 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) 4.616488
Sepal.Length 1.649614
Sepal.Width .
Petal.Length -1.088160
Petal.Width -1.884997
> coefsMin[[1]]
5 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) 14.475437
Sepal.Length -1.843070
Sepal.Width 5.312490
Petal.Length -2.698684
Petal.Width -5.708280
のでcoefsMin
リストのエントリは異なる係数レベルとスパース性の程度が異なることができます。すべての係数セットが何らかの形で同じlambda
値に対応していますか?もしそうであれば、他のものの上に1つを選ぶ理由があるでしょうか?
ありがとうございました!