Neden lojistik regresyona ihtiyaç var?

Python ile statsmodels kullanarak Regresyona Giriş

Maarten Van den Broeck

Content Developer at DataCamp

Banka terk veriseti

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
... ... ...
yanıt ilişki süresi etkinlik yakınlığı
1 https://www.rdocumentation.org/packages/bayesQR/topics/Churn
Python ile statsmodels kullanarak Regresyona Giriş

Terk vs. yakınlık: doğrusal model

mdl_churn_vs_recency_lm = ols("has_churned ~ time_since_last_purchase",
                              data=churn).fit()

print(mdl_churn_vs_recency_lm.params)
Intercept                   0.490780
time_since_last_purchase    0.063783
dtype: float64
intercept, slope = mdl_churn_vs_recency_lm.params
Python ile statsmodels kullanarak Regresyona Giriş

Doğrusal modeli görselleştirme

sns.scatterplot(x="time_since_last_purchase",
                y="has_churned",
                data=churn)

plt.axline(xy1=(0, intercept), slope=slope) plt.show()

Müşterinin terk durumu ile son satın almadan bu yana geçen süre saçılım grafiği. Tüm noktalar y=0 veya y=1 çizgisi üzerindedir. Doğrusal trend çizgisi, süre arttıkça terk olasılığının yükseldiğini gösterir.

Python ile statsmodels kullanarak Regresyona Giriş

Uzaklaştırma

sns.scatterplot(x="time_since_last_purchase",
                y="has_churned",
                data=churn)

plt.axline(xy1=(0,intercept),
           slope=slope)

plt.xlim(-10, 10) plt.ylim(-0.2, 1.2)
plt.show()

Müşterinin terk durumu ile son satın almadan bu yana geçen süre saçılım grafiği. Eksenler öncekiye göre uzaklaştırılmıştır; trend çizgisi y=0’ın altına ve y=1’in üstüne uzanır; bu aslında imkânsızdır.

Python ile statsmodels kullanarak Regresyona Giriş

Lojistik regresyon nedir?

  • Başka bir genelleştirilmiş doğrusal model türü.
  • Yanıt değişkeni mantıksal olduğunda kullanılır.
  • Yanıtlar lojistik (S-şeklinde) eğriyi izler.
Python ile statsmodels kullanarak Regresyona Giriş

logit() ile lojistik regresyon

from statsmodels.formula.api import logit
mdl_churn_vs_recency_logit = logit("has_churned ~ time_since_last_purchase",
                                   data=churn).fit()

print(mdl_churn_vs_recency_logit.params)
Intercept                  -0.035019
time_since_last_purchase    0.269215
dtype: float64
Python ile statsmodels kullanarak Regresyona Giriş

Lojistik modeli görselleştirme

sns.regplot(x="time_since_last_purchase",
            y="has_churned",
            data=churn,
            ci=None,
            logistic=True)
plt.axline(xy1=(0,intercept),
           slope=slope,
           color="black")

plt.show()

Müşterinin terk edip etmediği ile son satın almadan bu yana geçen süre saçılım grafiği. Doğrusal ve lojistik trend çizgileri gösterilir; ikisi de süre arttıkça terk olasılığının arttığını gösterir. Trendler, süre çok yüksek olduğunda hariç, birbirini yakından izler.

Python ile statsmodels kullanarak Regresyona Giriş

Uzaklaştırma

Müşterinin terk durumu ile son satın almadan bu yana geçen süre saçılım grafiği, her iki trend çizgisiyle. Eksenler öncekiye göre uzaklaştırılmıştır ve lojistik çizginin 0–1 aralığının dışına çıkmadığı görülür.

Python ile statsmodels kullanarak Regresyona Giriş

Haydi pratik yapalım!

Python ile statsmodels kullanarak Regresyona Giriş

Preparing Video For Download...