R'de lojistik regresyon eğrisi nasıl çizilir


Çoğunlukla R’de uygun bir lojistik regresyon modelinin eğrisini çizmek isteyebilirsiniz.

Neyse ki bunu yapmak oldukça kolaydır ve bu eğitimde bunun hem temel R’de hem de ggplot2’de nasıl yapılacağı açıklanmaktadır.

Örnek: R tabanında bir lojistik regresyon eğrisi çizmek

Aşağıdaki kod, R’deki yerleşik mtcars veri kümesindeki değişkenleri kullanarak bir lojistik regresyon modelinin nasıl yerleştirileceğini ve ardından lojistik regresyon eğrisinin nasıl çizileceğini gösterir:

 #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 )

R tabanındaki lojistik regresyon eğrisi

X ekseni hp tahmin değişkeninin değerlerini görüntüler ve y ekseni am yanıt değişkeninin tahmin edilen olasılığını görüntüler.

Tahmin değişkeni hp’nin daha yüksek değerlerinin, yanıt değişkeninin 1’e eşit olma olasılığının daha düşük olmasıyla ilişkili olduğunu açıkça görebiliriz.

Örnek: ggplot2’de lojistik regresyon eğrisi çizmek

Aşağıdaki kod, aynı lojistik regresyon modeline nasıl uyulacağını ve ggplot2 veri görselleştirme kitaplığını kullanarak lojistik regresyon eğrisinin nasıl çizileceğini gösterir:

 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)) 

Ggplot2'deki lojistik regresyon eğrisi

Bunun önceki örnekte R tabanı kullanılarak oluşturulan eğrinin tamamen aynısı olduğuna dikkat edin.

Eğrinin stilini de değiştirmekten çekinmeyin. Örneğin eğriyi kırmızı noktalı çizgiye dönüştürebiliriz:

 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 ) 

Ek kaynaklar

Lojistik Regresyona Giriş
R’de Lojistik Regresyon Nasıl Gerçekleştirilir (Adım Adım)
Python’da Lojistik Regresyon Nasıl Gerçekleştirilir (Adım Adım)
R’de seq işlevi nasıl kullanılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir