glmnetのキャレットトレーニング関数は、アルファとラムダの両方を相互検証しますか?


20

Rのいcaretの両方の上にパッケージクロス検証をalphaしてlambdaためglmnetのモデル?このコードを実行すると、

eGrid <- expand.grid(.alpha = (1:10) * 0.1, 
                     .lambda = (1:10) * 0.1)

Control <- trainControl(method = "repeatedcv",repeats = 3,verboseIter =TRUE)

netFit <- train(x =train_features, y = y_train,
          method = "glmnet",
          tuneGrid = eGrid,
          trControl = Control)

トレーニングログは次のようになります。

Fold10.Rep3: alpha=1.0, lambda=NA 

どういうlambda=NA意味ですか?


3
family = "binomial"とtype.measure = "auc"をtrainを使用してglmnetモデルに渡すにはどうすればよいですか?
diugalde

回答:


16

train 両方を調整します。

基本的に、alphaトレーニング時にのみ必要であり、をlambda使用するさまざまな値にわたって予測を取得できますpredict.glmnet。たぶん、lambda = "all"何かの価値や何かがより有益だろう。

マックス


1
アルファ値のシーケンスを指定するにはどうすればよいですか?ラムダシーケンスを与えずに?
diugalde

次のようなもの:alpha.seq = seq(0,1、.01)上記の正確な方法を使用する必要はありません。キャレットのドキュメントを参照してください
Redeyes10

12

古い質問ですが、最近この問題に対処する必要があり、この質問を参考として見つけました。

別のアプローチを次に示します。

λαλα

αλλλλ>0λ


これは最近の方が良い答えです
-javadba
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.