Ich möchte Caret verwenden, um Rückschlüsse auf einen bestimmten Datensatz zu ziehen. Ist es möglich, Folgendes zu tun:
Erzeugt Koeffizienten eines Glmnet-Modells, das ich in Caret trainiert habe. Ich möchte glmnet verwenden, da ich glaube, dass glm es nicht hat.
Gibt es eine andere Metrik als die ROC-Metrik, mit der ich die Anpassung des Modells beurteilen kann? Wie eingestellt ?
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.
Antworten:
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 anrufencoef(model$finalModel)
, usw. Sie müssen einen Lambda-Wert auswählen, für den Sie Koeffizienten möchten, zcoef(model$finalModel, model$bestTune$.lambda)
.Schauen Sie sich den
summaryFunction
Parameter für dietrainControl
Funktion an. Hier können Sie jede Funktion angeben, die Sie minimieren (oder maximieren, siehemaximize
Argumenttrain
) 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.
quelle
caret
Version6.0.78
ist am besten abgestimmt Lambda jetzt:model$bestTune$lambda
.