Как построить кривую логистической регрессии в r
Часто вам может потребоваться построить кривую подобранной модели логистической регрессии в R.
К счастью, это довольно легко сделать, и в этом руководстве объясняется, как это сделать как в базовом 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 связаны с более низкими вероятностями переменной ответа vs равными 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