2016-04-28 9 views
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つを選ぶ理由があるでしょうか?

ありがとうございました!

答えて

2

私の問題は、多項式回帰がどのように機能するのか忘れていたと思います。多項回帰の予測式は、あなたはすべてのクラスのための係数のセットを必要とする

enter image description here

です。

関連する問題