Jak wykreślić krzywą regresji logistycznej w r
Często możesz chcieć wykreślić krzywą dopasowanego modelu regresji logistycznej w R.
Na szczęście jest to dość łatwe i w tym samouczku wyjaśniono, jak to zrobić zarówno w podstawowym R, jak i ggplot2.
Przykład: rysowanie krzywej regresji logistycznej w bazie R
Poniższy kod pokazuje, jak dopasować model regresji logistycznej przy użyciu zmiennych z wbudowanego zbioru danych mtcars w R, a następnie jak wykreślić krzywą regresji logistycznej:
#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 )
Oś x wyświetla wartości zmiennej predykcyjnej hp , a oś y wyświetla przewidywane prawdopodobieństwo zmiennej odpowiedzi am .
Wyraźnie widać, że wyższe wartości zmiennej predykcyjnej hp wiążą się z mniejszym prawdopodobieństwem wystąpienia zmiennej odpowiedzi w porównaniu z wartością 1.
Przykład: wykreślenie krzywej regresji logistycznej w ggplot2
Poniższy kod pokazuje, jak dopasować ten sam model regresji logistycznej i jak wykreślić krzywą regresji logistycznej przy użyciu biblioteki wizualizacji danych ggplot2 :
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))
Należy zauważyć, że jest to dokładnie ta sama krzywa, która została utworzona w poprzednim przykładzie przy użyciu podstawy R.
Możesz także zmienić styl krzywej. Na przykład możemy zamienić krzywą w czerwoną przerywaną linię:
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 )
Dodatkowe zasoby
Wprowadzenie do regresji logistycznej
Jak przeprowadzić regresję logistyczną w R (krok po kroku)
Jak przeprowadzić regresję logistyczną w Pythonie (krok po kroku)
Jak korzystać z funkcji seq w R