So zeichnen sie eine logistische regressionskurve in r
Häufig möchten Sie möglicherweise die Kurve eines angepassten logistischen Regressionsmodells in R zeichnen.
Glücklicherweise ist dies recht einfach und in diesem Tutorial wird erklärt, wie es sowohl in Basis-R als auch in ggplot2 durchgeführt wird.
Beispiel: Zeichnen einer logistischen Regressionskurve in Basis R
Der folgende Code zeigt, wie man ein logistisches Regressionsmodell mithilfe von Variablen aus dem integrierten mtcars-Datensatz in R anpasst und wie man dann die logistische Regressionskurve zeichnet:
#fit logistic regression model model <- glm(vs ~ hp, data=mtcars, family=binomial) #define new data frame that contains predictor variable newdata <- data. frame (hp=seq(min(mtcars$hp), max(mtcars$hp),len= 500 )) #use fitted model to predict values of vs newdata$vs = predict(model, newdata, type=" response ") #plot logistic regression curve plot(vs ~hp, data=mtcars, col=" steelblue ") lines(vs ~ hp, newdata, lwd= 2 )
Die x-Achse zeigt die Werte der Prädiktorvariablen hp und die y-Achse zeigt die vorhergesagte Wahrscheinlichkeit der Antwortvariablen am an.
Wir können deutlich erkennen, dass höhere Werte der Prädiktorvariablen hp mit geringeren Wahrscheinlichkeiten der Antwortvariablen vs. gleich 1 verbunden sind.
Beispiel: Zeichnen einer logistischen Regressionskurve in ggplot2
Der folgende Code zeigt, wie Sie dasselbe logistische Regressionsmodell anpassen und die logistische Regressionskurve mithilfe der Datenvisualisierungsbibliothek ggplot2 zeichnen:
library (ggplot2) #plot logistic regression curve ggplot(mtcars, aes (x=hp, y=vs)) + geom_point(alpha=.5) + stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial))
Beachten Sie, dass dies genau die gleiche Kurve ist, die im vorherigen Beispiel unter Verwendung der R-Basis erstellt wurde.
Fühlen Sie sich frei, auch den Stil der Kurve zu ändern. Wir könnten die Kurve beispielsweise in eine rot gestrichelte Linie umwandeln:
library (ggplot2) #plot logistic regression curve ggplot(mtcars, aes (x=hp, y=vs)) + geom_point(alpha=.5) + stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial), col=" red ", lty= 2 )
Zusätzliche Ressourcen
Einführung in die logistische Regression
So führen Sie eine logistische Regression in R durch (Schritt für Schritt)
So führen Sie eine logistische Regression in Python durch (Schritt für Schritt)
So verwenden Sie die seq-Funktion in R