Lojistik regresyon, bir gözlemin iki sınıftan hangisine ait olduğunu tahmin etmek için kullanılan sınıflandırma yöntemidir. Örneğin bir e-postanın spam olup olmadığını veya bir müşterinin ürünü satın alıp almayacağını tahmin eder. Model, girdilerden 0 ile 1 arasında bir olasılık üretir; seçtiğiniz eşik değere göre bu olasılığı sınıfa dönüştürür. Böylece hem tahmin sınıfını hem de tahminin ne kadar güçlü olduğunu görebilirsiniz.
Model önce girdilerin ağırlıklı toplamını hesaplar. Bu toplam, sigmoid adı verilen S biçimli fonksiyondan geçirilir:
Burada
Örneğin bir müşterinin satın alma olasılığını tahmin eden model
Lojistik regresyon ile doğrusal regresyonun adı benzer olsa da amaçları farklıdır. Doğrusal regresyon sürekli bir sayı tahmin ederken lojistik regresyon sınıf veya sınıfa ait olma olasılığı tahmin eder.
Bu ayrım, hangi yöntemin kullanılacağını seçerken önemlidir:
Doğrusal regresyonla bir olayın gerçekleşip gerçekleşmediğini tahmin etmeye çalışmak, 0'ın altında veya 1'in üstünde sonuçlar üretebilir. Lojistik regresyon bu sorunu olasılık çıktısı sağlayarak çözer.
Aşağıdaki örnek, çalışma süresine göre bir öğrencinin sınavı geçip geçmeyeceğini varsayımsal olarak tahmin eder. Gerçek bir veri kümesi yerine küçük bir eğitim verisi kullanılır.
Bu kodun çalışması için
Modelin
Karar eşiği de sonuca etki eder. Hastalık taraması gibi pozitif vakaları kaçırmanın maliyeti yüksek bir senaryoda daha düşük eşik seçilebilir. E-postaların yanlışlıkla spam klasörüne gitmesi daha önemliyse eşik yükseltilebilir. Eşik değiştirilmeden önce yanlış pozitif ve yanlış negatif sonuçların maliyeti belirlenmelidir.
Modeli değerlendirirken yalnızca doğruluk oranına bakmak yeterli değildir. Veri dengesizse, yani pozitif sınıf çok azsa, model çoğu gözleme aynı sınıfı vererek yüksek doğruluk gösterebilir. Bu nedenle karmaşıklığa göre kesinlik, duyarlılık, F1 skoru, ROC-AUC ve sınıflar arasındaki hata dağılımı birlikte incelenmelidir.
Lojistik regresyon özellikle sonuç ile değişkenler arasındaki ilişkiyi açıklamanın önemli olduğu, sınıfların yaklaşık olarak doğrusal biçimde ayrılabildiği problemlerde iyi bir başlangıç modelidir. Çok karmaşık doğrusal olmayan ilişkiler, güçlü aykırı değerler veya karmaşık etkileşimler varsa karar ağaçları ya da diğer sınıflandırma yöntemleri daha uygun olabilir. Buna rağmen lojistik regresyon, basitliği, hızlı çalışması ve değişken etkilerinin incelenebilmesi nedeniyle sınıflandırma problemlerinde sık kullanılan temel yöntemlerden biridir.
Lojistik regresyon nasıl çalışır?
Model önce girdilerin ağırlıklı toplamını hesaplar. Bu toplam, sigmoid adı verilen S biçimli fonksiyondan geçirilir:
p = 1 / (1 + e^(-z))Burada
p pozitif sınıfa ait olma olasılığı, z ise değişkenlerin ağırlıklı toplamıdır. Sigmoid fonksiyonu sonucu her zaman 0 ile 1 arasında tutar.Örneğin bir müşterinin satın alma olasılığını tahmin eden model
0,82 sonucu verirse bu, müşterinin pozitif sınıfa ait olma tahmini olasılığının yüzde 82 olduğu anlamına gelir. Eşik değeri 0,50 ise sonuç pozitif sınıf olarak etiketlenir. Ancak bu değer, müşterinin ürünü kesinlikle satın alacağını kanıtlamaz; yalnızca modelin mevcut veriye dayalı tahminidir.Doğrusal regresyondan farkı
Lojistik regresyon ile doğrusal regresyonun adı benzer olsa da amaçları farklıdır. Doğrusal regresyon sürekli bir sayı tahmin ederken lojistik regresyon sınıf veya sınıfa ait olma olasılığı tahmin eder.
Bu ayrım, hangi yöntemin kullanılacağını seçerken önemlidir:
| Özellik | Doğrusal regresyon | Lojistik regresyon |
|---|---|---|
| Tahmin türü | Sürekli sayısal değer | Sınıf olasılığı veya sınıf etiketi |
| Örnek | Ev fiyatı tahmini | Kredinin onaylanıp onaylanmayacağı |
| Çıktı aralığı | Genellikle sınırsız sayısal değer | 0 ile 1 arasında olasılık |
| Yaygın değerlendirme | Ortalama mutlak hata, kare hata | Doğruluk, kesinlik, duyarlılık, ROC-AUC |
Basit bir Python örneği
Aşağıdaki örnek, çalışma süresine göre bir öğrencinin sınavı geçip geçmeyeceğini varsayımsal olarak tahmin eder. Gerçek bir veri kümesi yerine küçük bir eğitim verisi kullanılır.
Python:
from sklearn.linear_model import LogisticRegression
# Çalışma saatleri
X = [[1], [2], [3], [4], [5], [6]]
# 0: kaldı, 1: geçti
y = [0, 0, 0, 1, 1, 1]
model = LogisticRegression()
model.fit(X, y)
saat = [[3.5]]
olasilik = model.predict_proba(saat)[0][1]
sinif = model.predict(saat)[0]
print(f"Geçme olasılığı: {olasilik:.2f}")
print(f"Tahmin edilen sınıf: {sinif}")
Bu kodun çalışması için
scikit-learn kurulu olmalıdır. Varsayımsal veri yapısında model, çalışma saati arttıkça geçme olasılığının yükselmesini öğrenir. predict_proba olasılığı, predict ise varsayılan karar eşiğine göre sınıfı döndürür. Örneğin çıktıdaki sınıf 1 ise model öğrenciyi geçecek sınıfta değerlendirir.Sonucun nasıl yorumlanacağı
Modelin
0,70 olasılık üretmesi, her 100 benzer gözlemden tam olarak 70'inin pozitif çıkacağını garanti etmez. Bu değer modelin tahmin güvenini ifade eder; gerçek performans, daha önce görülmemiş test verisi üzerinde ölçülmelidir.Karar eşiği de sonuca etki eder. Hastalık taraması gibi pozitif vakaları kaçırmanın maliyeti yüksek bir senaryoda daha düşük eşik seçilebilir. E-postaların yanlışlıkla spam klasörüne gitmesi daha önemliyse eşik yükseltilebilir. Eşik değiştirilmeden önce yanlış pozitif ve yanlış negatif sonuçların maliyeti belirlenmelidir.
Modeli değerlendirirken yalnızca doğruluk oranına bakmak yeterli değildir. Veri dengesizse, yani pozitif sınıf çok azsa, model çoğu gözleme aynı sınıfı vererek yüksek doğruluk gösterebilir. Bu nedenle karmaşıklığa göre kesinlik, duyarlılık, F1 skoru, ROC-AUC ve sınıflar arasındaki hata dağılımı birlikte incelenmelidir.
Lojistik regresyon özellikle sonuç ile değişkenler arasındaki ilişkiyi açıklamanın önemli olduğu, sınıfların yaklaşık olarak doğrusal biçimde ayrılabildiği problemlerde iyi bir başlangıç modelidir. Çok karmaşık doğrusal olmayan ilişkiler, güçlü aykırı değerler veya karmaşık etkileşimler varsa karar ağaçları ya da diğer sınıflandırma yöntemleri daha uygun olabilir. Buna rağmen lojistik regresyon, basitliği, hızlı çalışması ve değişken etkilerinin incelenebilmesi nedeniyle sınıflandırma problemlerinde sık kullanılan temel yöntemlerden biridir.