Neden lojistik regresyona ihtiyaç var?

R'da Regresyona Giriş

Richie Cotton

Data Evangelist at DataCamp

Banka churn veri kümesi

has_churned time_since_first_purchase time_since_last_purchase
0 0.3993247 -0.5158691
1 -0.4297957 0.6780654
0 3.7383122 0.4082544
0 0.6032289 -0.6990435
... ... ...
response ilişki süresi son etkinlik yakınlığı
1 https://www.rdocumentation.org/packages/bayesQR/topics/Churn
R'da Regresyona Giriş

Churn vs. yakınlık: lineer model

mdl_churn_vs_recency_lm <- lm(has_churned ~ time_since_last_purchase, data = churn)
Call:
lm(formula = has_churned ~ time_since_last_purchase, data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                 0.49078                   0.06378 
coeffs <- coefficients(mdl_churn_vs_recency_lm)
intercept <- coeffs[1]
slope <- coeffs[2]
R'da Regresyona Giriş

Lineer modeli görselleştirme

ggplot(
  churn, 
  aes(time_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(intercept = intercept, slope = slope)

Tahminler, ayrılma miktarı değil ayrılma olasılığıdır.

Müşterinin ayrılıp ayrılmadığına karşı son satın almadan bu yana geçen süre saçılım grafiği. Tüm noktalar y=0 veya y=1 üzerindedir. Doğrusal eğilim çizgisi, süre arttıkça ayrılma olasılığının arttığını gösterir.

R'da Regresyona Giriş

Uzaklaştırma

ggplot(
  churn, 
  aes(days_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(intercept = intercept, slope = slope) +
  xlim(-10, 10) +
  ylim(-0.2, 1.2)

Müşterinin ayrılıp ayrılmadığına karşı son satın almadan bu yana geçen süre saçılım grafiği. Eksenler uzaklaştırılmıştır ve eğilim çizgisinin y=0’ın altına ve y=1’in üstüne taştığı görülür; bu imkânsız olmalıdır.

R'da Regresyona Giriş

Lojistik regresyon nedir?

  • Başka bir genelleştirilmiş lineer model türü.
  • Yanıt değişkeni mantıksal olduğunda kullanılır.
  • Yanıtlar lojistik (S biçimli) eğriyi izler.
R'da Regresyona Giriş

glm() ile lineer regresyon

glm(has_churned ~ time_since_last_purchase, data = churn, family = gaussian)
Call:  glm(formula = has_churned ~ time_since_last_purchase, family = gaussian, 
    data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                 0.49078                   0.06378  

Degrees of Freedom: 399 Total (i.e. Null);  398 Residual
Null Deviance:        100 
Residual Deviance: 98.02     AIC: 578.7
R'da Regresyona Giriş

Lojistik regresyon: binomial family ile glm()

mdl_recency_glm <- glm(has_churned ~ time_since_last_purchase, data = churn, family = binomial)
Call:  glm(formula = has_churned ~ time_since_last_purchase, family = binomial, 
    data = churn)

Coefficients:
             (Intercept)  time_since_last_purchase  
                -0.03502                   0.26921  

Degrees of Freedom: 399 Total (i.e. Null);  398 Residual
Null Deviance:        554.5 
Residual Deviance: 546.4     AIC: 550.4
R'da Regresyona Giriş

Lojistik modeli görselleştirme

ggplot(
  churn, 
  aes(time_since_last_purchase, has_churned)
) +
  geom_point() +
  geom_abline(
    intercept = intercept, slope = slope
  ) +
  geom_smooth(
    method = "glm", 
    se = FALSE, 
    method.args = list(family = binomial)
  )

Müşterinin ayrılıp ayrılmadığına karşı son satın almadan bu yana geçen süre saçılım grafiği. Doğrusal ve lojistik eğilim çizgileri gösterilir; her ikisi de süre arttıkça ayrılma olasılığının arttığını gösterir. Yüksek sürelerde iki eğilim çizgisi biraz ayrışır.

R'da Regresyona Giriş

Uzaklaştırma

Müşterinin ayrılıp ayrılmadığına karşı son satın almadan bu yana geçen süre saçılım grafiği; her iki eğilim çizgisiyle. Eksenler uzaklaştırılmıştır; lojistik çizgi, ayrılma aralığı olan 0–1 dışına hiç çıkmaz.

R'da Regresyona Giriş

Hadi pratik yapalım!

R'da Regresyona Giriş

Preparing Video For Download...