GLMとElastic Netを使用してそれらの関連機能を選択し、線形回帰モデルを構築します(つまり、予測と理解の両方であるため、比較的少ないパラメーターを残しておく方が良いでしょう)。出力は連続的です。それはだあたりの遺伝子例でした。私はパッケージについて読んでいますが、従うべき手順について100%確信が持てません。glmnet
CVを実行してラムダを選択します:
cv <- cv.glmnet(x,y,alpha=0.5)
(Q1)入力データが与えられたら、別のアルファ値を選択しますか?
(Q2)モデルを構築する前に他に何かする必要がありますか?モデルに適合:
model=glmnet(x,y,type.gaussian="covariance",lambda=cv$lambda.min)
(Q3)「共分散」よりも優れているものはありますか?
(Q4)ラムダがCVによって選択された場合、なぜこのステップが必要なのnlambda=
ですか?
(Q5)lambda.min
またはを使用する方が良いlambda.1se
ですか?係数を取得して、どのパラメーターが抜けているか( "。")を確認します。
predict(model, type="coefficients")
ヘルプページでは、多くがある
predict
方法(例えば、predict.fishnet
、predict.glmnet
、predict.lognet
、など)。しかし、例で見たように、「プレーン」は予測します。
(Q6)またはその他を使用する必要がありますpredict
かpredict.glmnet
?
正則化方法について読んだことにもかかわらず、私はRとこれらの統計パッケージがまったく新しいので、問題をコードに適合させているかどうかを確認することは困難です。どんな提案も歓迎します。
UPDATE
に基づいて、クラス列のオブジェクトがという要素が含まれ先に述べたように、」finalModel
リサンプリングによって選択されたチューニングパラメータの値を装着したモデルで、このオブジェクトはことを使用して、新しいサンプルの予測を生成するために、伝統的な方法で使用することができますモデルの予測関数。」
caret
アルファとラムダの両方を調整するために使用:
trc = trainControl(method=cv, number=10)
fitM = train(x, y, trControl = trC, method="glmnet")
fitM
前のステップ2を交換しますか?その場合、glmnetオプション(type.gaussian="naive",lambda=cv$lambda.min/1se
)を今指定する方法は?
そして、次predict
のステップでは、私は置き換えることができますmodel
にfitM
?
私が行った場合
trc = trainControl(method=cv, number=10)
fitM = train(x, y, trControl = trC, method="glmnet")
predict(fitM$finalModel, type="coefficients")
それはまったく意味がありますか、私は両方のパッケージ語彙を間違って混合していますか?