Часто вас может заинтересовать построение кривой подобранной модели логистической регрессии в R.
К счастью, это довольно легко сделать, и в этом руководстве объясняется, как это сделать как в base R, так и в ggplot2.
Пример: построение кривой логистической регрессии в базе R
В следующем коде показано, как подобрать модель логистической регрессии с использованием переменных из встроенного набора данных mtcars в R, а затем построить кривую логистической регрессии:
#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 )
На оси X отображаются значения переменной-предиктора hp , а на оси Y — прогнозируемая вероятность переменной ответа am .
Мы можем ясно видеть, что более высокие значения переменной-предиктора hp связаны с более низкими вероятностями переменной ответа по сравнению с вероятностью равной 1.
Пример: построение кривой логистической регрессии в ggplot2
В следующем коде показано, как подобрать ту же модель логистической регрессии и как построить кривую логистической регрессии с помощью библиотеки визуализации данных 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))
Обратите внимание, что это точно такая же кривая, полученная в предыдущем примере с использованием базы R.
Не стесняйтесь также изменять стиль кривой. Например, мы могли бы превратить кривую в красную пунктирную линию:
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 )
Дополнительные ресурсы
Введение в логистическую регрессию
Как выполнить логистическую регрессию в R (шаг за шагом)
Как выполнить логистическую регрессию в Python (шаг за шагом)
Как использовать функцию seq в R