Caret und Koeffizienten (glmnet)

19

Ich möchte Caret verwenden, um Rückschlüsse auf einen bestimmten Datensatz zu ziehen. Ist es möglich, Folgendes zu tun:

  1. Erzeugt Koeffizienten eines Glmnet-Modells, das ich in Caret trainiert habe. Ich möchte glmnet verwenden, da ich glaube, dass glm es nicht hat.

  2. Gibt es eine andere Metrik als die ROC-Metrik, mit der ich die Anpassung des Modells beurteilen kann? Wie eingestellt ?R2

Ziel dieser Analyse ist es, Rückschlüsse auf die Auswirkungen bestimmter Variablen zu ziehen und nicht, diese vorherzusagen. Ich mag das Caret-Paket nur, weil es bisher mit Matrizen einfach zu bearbeiten war.

user2300643
quelle
3
Das Caret-Paket enthält eine Reihe von Vignetten (und ein JSS-Papier), die die meisten Ihrer Fragen beantworten. Könnten Sie angeben, was Sie genau unter "Ableiten eines Rückschlusses auf die Wirkung bestimmter Variablen" verstehen?
CHL
Rückschluss über die Koeffizienten. Ich lese gerade in Applied Predictive Modeling, um mehr über R und Modellbildung gleichzeitig zu erfahren. Ich hatte die Vignetten und das PDF gelesen, aber es gibt so viele Funktionen, dass es schwierig ist, sie alle im Auge zu behalten. Zach beantwortete jedoch meine Frage und ich bin dankbar. Vielen Dank!
user2300643
Tatsächlich habe ich den Link gefunden, den ich hier gebe, um die beste Antwort zum Extrahieren der endgültigen Modellkoeffizienten zu geben. Stackoverflow.com/questions/48079660/…
Nusrat Rabbee

Antworten:

40

Nehmen wir an, Ihr Caret-Modell heißt "Modell". Sie können mit auf das endgültige glmnet-Modell zugreifen model$finalModel. Sie können dann anrufen coef(model$finalModel), usw. Sie müssen einen Lambda-Wert auswählen, für den Sie Koeffizienten möchten, z coef(model$finalModel, model$bestTune$.lambda).

Schauen Sie sich den summaryFunctionParameter für die trainControlFunktion an. Hier können Sie jede Funktion angeben, die Sie minimieren (oder maximieren, siehe maximizeArgument train) möchten , wobei Sie einen Prädiktor und eine Antwort erhalten.

Es könnte schwierig sein, auf diese Weise einen angepassten R ^ 2-Wert zu erhalten, aber Sie könnten wahrscheinlich einen R ^ 2-Wert oder einen ähnlichen Wert erhalten.

Zach
quelle
3
Danke, Zach. Genau das war es Ich möchte mich auch für Ihr caretEnsemble-Paket bedanken. Bitte macht weiter so.
user2300643
@ user2300643 Kein Problem! Ich bin froh, dass Sie das Paket verwenden.
Zach
6
In caretVersion 6.0.78ist am besten abgestimmt Lambda jetzt: model$bestTune$lambda.
Harrison
Gibt es eine Möglichkeit, die Standardfehler dieser Koeffizienten zu ermitteln?
Saifulsafuan