Ich versuche zu bestimmen, welches Alpha in meiner glmnet
Funktion verwendet werden soll, aber die Hilfedatei sagt mir:
Beachten Sie, dass cv.glmnet NICHT nach Werten für Alpha sucht. Es sollte ein bestimmter Wert angegeben werden, andernfalls wird standardmäßig Alpha = 1 angenommen. Wenn Benutzer auch Alpha kreuzvalidieren möchten , sollten sie cv.glmnet mit einer vorberechneten Vektor-Foldid aufrufen und dann denselben Fold-Vektor in separaten Aufrufen von cv.glmnet mit unterschiedlichen Alpha-Werten verwenden.
Ich verstehe jedoch nicht:
- Was ist der foldid Vektor / Argument.
- So erstellen Sie den Foldid-Vektor
- Verwendung von Foldid-Argumenten.
Jede Unterstützung dabei wäre sehr dankbar!
r
lasso
ridge-regression
glmnet
der Waldökologe
quelle
quelle
Antworten:
fold.id
Ermöglicht dem Benutzer, die Kreuzvalidierungsfalten für vorab festzulegencv.glmnet
. Zum Beispiel, wenn ich Daten habeWenn Sie dann die angegebene Spalte als
fold.id
Argument übergeben, befindencv.glmnet
sich (zum Beispiel) die ersten beiden Beobachtungen in derselben Falte und die dritte und vierte Beobachtung in derselben (unterschiedlichen) Falte.Die Autoren schlagen vor, dass, wenn Sie zwischen einer diskreten Sammlung von basierend auf einer Kreuzvalidierungsschätzung eines Fehlers bei einem optimalen wählen möchten , es die beste Vorgehensweise ist, jeweils dieselbe Faltstruktur zu verwenden Ihrer Kreuzvalidierungen bei der Bestimmung jedes .α λα λα
quelle
rbinom(now(X), n.folds, rep(1/n.folds, n.folds))
.Laut der Glmnet-Vignette können Sie das
foldid
für glmnet wie folgt einrichten:Und dann auf eine Reihe von Alphas anwenden:
Mit dieser
sample()
Funktion können Sie im Grunde genommen einen Vektor von Zufallszahlen in dem von Ihnen angegebenen Bereich (= 1: n-fach) für die Länge der Antwortvariablenmatrix y generieren . Auf diese Weise weisen Sie jede Ihrer Eingabematrixzeilen einer zufälligen (aber jetzt festgelegten) Falte zu.quelle