Training und Validierung von R2s im Lasso/elastischen NetzVerehrte Gäste,
Ich verwende k-fache Kreuzvalidierung in Kombination mit bestraften Regressionsmodellen (Lasso, elastisches Netz) und möchte die (gemittelten) R2-Werte der Trainings-/Validierungssätze untersuchen, um auf Überanpassung und erklärte Varianz zu prüfen. Ich habe schon mit den vielen Optionen herumgesucht, aber ich kann das nicht finden. Gibt es eine Möglichkeit, dies zu zeigen? Es wäre toll, wenn das in der Übersichtstabelle angezeigt werden könnte, damit ich es für die Modellauswahl nutzen kann.
Danke, Markus
Mac OSPrädiktive Modellierung und maschinelles LernenBetreff: Training und Validierung von R2s im Lasso/Elastic-NetzVielen Dank, aber natürlich kenne ich die Modell-Screening-Plattform, aber sie führt vereinfachte Modelle aus und bietet nicht die Optionen der vollständigen Modelle. Ich gehe beispielsweise davon aus, dass das neuronale Modell beim Modellscreening eher einfach ist und nur wenige versteckte Einheiten enthält.
Wenn ich beispielsweise eine verschachtelte Kreuzvalidierung mit einem komplexeren neuronalen Modell mit zwei Schichten durchführen möchte, ist dies mit dem Modell-Screening nicht möglich, oder?
Es gibt auch andere Dinge, die nur in der inneren Schleife erledigt werden können. Beispielsweise erfolgt die Imputation häufig nur innerhalb der inneren Schleife, da es unfair wäre, die gesamte Stichprobe einschließlich der unabhängigen Teststichprobe für die Imputation zu verwenden.
Daher suche ich nach einem Skript, mit dem eine verschachtelte Kreuzvalidierung durchgeführt werden kann. Ich könnte dann zum Beispiel die Imputation nur innerhalb der inneren Schleife einfügen.
Betreff: Training und Validierung von R2s im Lasso/Elastic-NetzHallo @MarkusJH ,
Willkommen in der Community!
Um Ihre Frage zu beantworten, könnte eine Möglichkeit darin bestehen, die Plattform „Modell-Screening“ zu nutzen, die im Menü „Analysieren“, „Prädiktive Modellierung“ verfügbar ist.
Sobald Sie sich auf der „Model Screening“-Plattform befinden, können Sie andere Methoden als „Generalisierte Regression“ und „Zusätzliche Methoden“ (hier für den Titanic-Datensatz) abwählen und angeben, ob Sie 2-Faktor-Wechselwirkungen oder quadratische Terme in das Modell einbeziehen möchten. Sie können auch die Anzahl der Falten für die Kreuzvalidierung und einen zufälligen Startwert angeben, wenn Sie reproduzierbare Ergebnisse wünschen:

Wenn die Analyse abgeschlossen ist, können Sie die Validierungsergebnisse als Zusammenfassung aller Faltungen sehen. Diese Übersichtstabelle kann Ihnen bei der Auswahl der am besten geeigneten Modelle helfen (Sie können die Modelle auswählen, die Sie detaillierter sehen möchten (oder auf „Dominant auswählen“ klicken) und dann auf „Ausgewählte ausführen“ klicken, um die zu öffnen Plattform der Generalisierten Regression, um weitere Details zu den ausgewählten Modellen zu erhalten):

Und Sie können sich bei Bedarf auch einzelne Ergebnisse nach Falten ansehen, indem Sie das Menü „Training“ und „Validierung“ öffnen (hier bei „Training“ ist die Faltenkennung in der letzten Spalte für jeden trainierten Modelltyp zu sehen). :

Ich hoffe, ich habe Ihre Frage verstanden und diese Antwort wird Ihnen helfen.
Wenn ich etwas falsch verstehe und dies nicht Ihren Erwartungen entspricht, können Sie mir bitte nähere Angaben dazu machen, welche Plattform Sie derzeit verwenden, welche Informationen Sie bereits haben und welche fehlen?
Betreff: Training und Validierung von R2s in Lasso/Elastic Net... oder etwas anderes, das man in der inneren Schleife tun möchte, wäre die Auswahl von Hyperparametern, z. B. die Anzahl der versteckten Einheiten.
Natürlich muss am Ende der inneren Schleife ein Kriterium stehen, das das beste Modell definiert, das dann der Kreuzvalidierung der äußeren Schleife unterzogen wird.
Betreff: Training und Validierung von R2s in Lasso/Elastic NetIch habe JMP eine ähnliche Frage zu Elastic Net Regression gestellt und wie ich eine Form von R-Quadrat erhalten könnte, und die Antwort war, dass es für die Validierungsmethoden KFold oder Leave-One-Out nicht gegeben ist, sondern nur für AICc und BIC. Ich denke also, dass Sie es selbst manuell berechnen müssen. Ich finde das ziemlich nervig, da SAS das kann.
Betreff: Training und Validierung von R2s in Lasso/Elastic Net@MarkusJH
Sie können die R2-Werte über k-fache Vergleiche mithilfe der Plattform „Modellvergleich“ im Menü „Analysieren > Prädiktive Modellierung“ vergleichen. Führen Sie die folgenden Schritte aus:
- Erstellen Sie mit dem Dienstprogramm „Make Validation Column“ eine K-Fold-Spalte und wählen Sie „Make K Fold Column“ (unten links im Dialogfenster).
- Starten Sie Gen Reg und laden Sie Ihre KFold-Spalte als Validierungsrolle.
- Führen Sie Ihr Regressionsmodell (Elastic Net, Lasso usw.) aus und stellen Sie sicher, dass „Validierungsspalte“ als Validierungsmethode ausgewählt ist.
- Wenn Sie mit dem Modell zufrieden sind, speichern Sie die Vorhersageformel in der Datentabelle.
- Um den R2-Wert für jede Faltung anzuzeigen, starten Sie den Modellvergleich über das Menü Analysieren > Prädiktive Modellierung
- Laden Sie Ihre gespeicherte Formelspalte als Y und die KFold-Validierungsspalte als Gruppe
- Der resultierende Bericht zeigt Ihnen die Anpassungsmaße für jede Falte in der Spalte:
