2017-01-23 14 views
0

私はglmnetを使用してロジスティック回帰モデルをトレーニングし、次に特定のlambdaで係数を取得しようとします。私はしかし、私はfit$lambdaに0.05または0.01の特定の値を見つけることができなかった、fit$lambdaの値をチェックしてglmnetで訓練されたモデルから係数を追加するためにlambda.minを使用する

load("BinomialExample.RData") 

fit = glmnet(x, y, family = "binomial") 
coef(fit, s = c(0.05,0.01)) 

:私はここに簡単な例を使用していました。だからcoefはどのようにしてlambdaの係数を返しますかfit$lambdaベクトルにはありません。

+0

*統計的計算プラットフォーム*内でのプログラミング、デバッグ、またはルーチン操作の問題については、[オフトピック](http://stats.stackexchange.com/help/on-topic)を参照してください。 –

+0

できません。実際にそうする必要がある場合は、ラムダの次の最大値と次の最小値の間で線形補間を検討してください。 –

答えて

0

これは特にexact引数、coef.glmnetのヘルプで説明されている:

exact

この引数は、それらの異なる予測をS(ラムダ)の値で構成されている場合にのみ関連しています元のモデルのフィッティングに使用されます。 exact=FALSE(デフォルト)の場合、予測関数は線形補間を使用して、フィッティングアルゴリズムで使用されたものと一致しないs(λ)の値の予測を行います。これはしばしば良い近似ではありますが、時には少し粗いことがあります。 exact=TRUEでは、これらの異なる値はobject$lambdaでマージ(ソート)され、予測が行われる前にモデルが再設定されます。

関連する問題