Як побудувати криву логістичної регресії в r
Часто вам може знадобитися побудувати криву підігнаної моделі логістичної регресії в 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 )
На осі абсцис відображаються значення змінної предиктора hp , а на осі у – прогнозована ймовірність змінної відповіді 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