Logistik Regresyon: Olasılık Tahmini ve Sınıflandırma
Logistik regresyon, bir örneğin belirli bir sınıfa ait olma olasılığını tahmin eder. Doğrusal regresyondan farklı olarak, çıktı 0 ile 1 arasında bir değer alır. Örneğin: e-postanın spam olma olasılığı %75 midir? Hastanın hastalığı olma riski nedir?
Temel fikir sigmoid fonksiyonudur:
σ(z) = 1 / (1 + e^(-z))Burada z, doğrusal kombinasyondur: z = w₀ + w₁x₁ + w₂x₂ +... + wₙxₙ
Model, tahmin edilen olasılık 0.5'ten büyükse sınıfı 1, aksi takdirde 0 olarak etiketler. Bu 0.5 eşiği, karar sınırıdır. Eğitim sırasında ağırlıklar (w) ve sabit terim (w₀) güncellenerek sınıf ayrımı iyileştirilir.
Öğrencinin ders saatine göre sınavı geçme olasılığını tahmin edelim.
1import numpy as np2from sklearn.linear_model import LogisticRegression3import matplotlib.pyplot as plt45# Veri: ders saati ve geçme durumu (1=geçti, 0=kaldı)6ders_saati = np.array([2, 3, 4, 5, 6, 7, 8, 9]).reshape(-1, 1)7sonuc = np.array([0, 0, 0, 1, 1, 1, 1, 1])89# Model eğit10model = LogisticRegression()11model.fit(ders_saati, sonuc)1213# 5.5 saatlik öğrenci için tahmin14tahmin = model.predict_proba([[5.5]])15print(f"5.5 saat ders yapan öğrenci geçme olasılığı: {tahmin[0][1]:.2%}")16# Çıktı: 5.5 saat ders yapan öğrenci geçme olasılığı: 51.27%1718# Sınıflandırma sınırını görselleştir19x_range = np.linspace(1, 10, 300).reshape(-1, 1)20y_prob = model.predict_proba(x_range)[:, 1]2122plt.scatter(ders_saati, sonuc, color='red', label='Gerçek veri')23plt.plot(x_range, y_prob, color='blue', label='Sigmoid eğrisi')24plt.axhline(y=0.5, color='green', linestyle='--', label='Karar sınırı (0.5)')25plt.xlabel('Ders Saati')26plt.ylabel('Geçme Olasılığı')27plt.legend()28plt.show()Bu kodda sigmoid eğrisi, ders saati arttıkça geçme olasılığının nasıl yükseldiğini gösterir. Yeşil çizgi (0.5 eşiği) karar sınırıdır: bu noktanın sağında model "geçti" tahmin eder.
Logistik regresyon, sigmoid fonksiyonu sayesinde doğrusal sınıflandırma problemlerini çözer. Olasılık tahmini sağlar ve 0.5 eşiğine göre sınıf atar. İkili (binary) sınıflandırma görevlerinde hızlı ve yorumlanabilir bir yöntemdir.
0 yorum