Lineer Regresyon
Lineer regresyon, bir bağımlı değişkenin (genellikle "y" olarak temsil edilir) bir veya daha fazla bağımsız değişkenle (genellikle "x" olarak temsil edilir) arasındaki ilişkiyi modellemek için kullanılan istatistiksel bir yöntemdir. Bu yöntem, değişkenler arasındaki ilişkiyi anlamamıza, gelecekteki değerleri tahmin etmemize ve verileri analiz etmemize yardımcı olur.
Lineer regresyon iki ana türde gelir:
Basit Lineer Regresyon
Tek bir bağımsız değişkenin (x) kullanıldığı bir modeldir. Bu tür regresyon, veri noktalarını en iyi şekilde bir doğru (lineer) ile açıklamaya çalışır. Denklemi genellikle şu şekildedir:
y = β0 + β1x + ε
Burada:
y, bağımlı değişkenin tahmini değerini temsil eder.
β0, doğrunun y-eksenini kestiği noktadır (kesme terimi veya sabit terim).
β1, x değişkeni ile y arasındaki ilişkiyi gösteren eğimdir (eğim katsayısı).
ε, hata terimini temsil eder ve gözlemlenen değer ile tahmini değer arasındaki farkı ifade eder.
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Örnek veri oluştur X = np.array([1, 2, 3, 4, 5]) # Bağımsız değişken y = np.array([2, 3, 5, 4, 6]) # Bağımlı değişken # Veriyi yeniden şekillendir X = X.reshape(-1, 1) # Lineer regresyon modelini oluştur model = LinearRegression() model.fit(X, y) # Regresyon doğrusunu çiz plt.scatter(X, y, color='b', label='Veri Noktaları') plt.plot(X, model.predict(X), color='r', label='Regresyon Doğrusu') plt.title('Basit Lineer Regresyon') plt.xlabel('Bağımsız Değişken (X)') plt.ylabel('Bağımlı Değişken (y)') plt.legend() plt.show()
Çıktı:
Regresyon modelinin performansını değerlendirmek için hata görselleştirmesi yapmak önemlidir. Regresyon hatasını görselleştirmek için "gerçek-değerler - tahmini değerler" şeklinde bir hata (residual) dağılımı grafiği kullanabilirsiniz. Aşağıda, bu tür bir hata görselleştirmesi yapmak için Python kodunu bulabilirsiniz:
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Örnek veri oluştur X = np.array([1, 2, 3, 4, 5]) # Bağımsız değişken y = np.array([2, 3, 5, 4, 6]) # Bağımlı değişken # Veriyi yeniden şekillendir X = X.reshape(-1, 1) # Lineer regresyon modelini oluştur ve eğit model = LinearRegression() model.fit(X, y) # Tahminleri hesapla y_pred = model.predict(X) # Hataları hesapla residuals = y - y_pred # Hata dağılımını görselleştir plt.scatter(X, residuals, color='g') plt.axhline(y=0, color='r', linestyle='-') plt.title('Hata Dağılımı') plt.xlabel('Bağımsız Değişken (X)') plt.ylabel('Hata (Residual)') plt.show()
Çıktı:
Bu kod, gerçek değerler ile tahmini değerler arasındaki hataları hesaplar ve bu hataları bir grafik üzerinde gösterir. Grafikte, hataların (artıkların) dağılımını gösteren yeşil noktalar ve y = 0 doğrusunu temsil eden kırmızı bir çizgi görünmelidir. Hataların çoğu bu çizgi etrafında rasgele dağılmış olmalıdır. Bu, regresyon modelinin iyi bir uyum sağladığını gösterir.
Lineer regresyon modelinin performansını değerlendirmek için kullanabileceğiniz bazı metrikler ve bu metrikleri görselleştiren Python kodları aşağıda verilmiştir.
Ortalama Mutlak Hata (MAE) ve Ortalama Kare Hata (MSE) Metrikleri:
from sklearn.metrics import mean_absolute_error, mean_squared_error # Gerçek ve tahmini değerler arasındaki hataları hesapla mae = mean_absolute_error(y, y_pred) mse = mean_squared_error(y, y_pred) print(f"Ortalama Mutlak Hata (MAE): {mae:.2f}") print(f"Ortalama Kare Hata (MSE): {mse:.2f}")
R-Kare (R²) Metriği:
from sklearn.metrics import r2_score # R-kare metriğini hesapla r2 = r2_score(y, y_pred) print(f"R-Kare (R²): {r2:.2f}")
Denklem:
import numpy as np from sklearn.linear_model import LinearRegression # Örnek veri oluştur X = np.array([1, 2, 3, 4, 5]) # Bağımsız değişken y = np.array([2, 3, 5, 4, 6]) # Bağımlı değişken # Veriyi yeniden şekillendir X = X.reshape(-1, 1) # Lineer regresyon modelini oluştur ve eğit model = LinearRegression() model.fit(X, y) # Denklemi elde et beta0 = model.intercept_ beta1 = model.coef_[0] print(f"Lineer Regresyon Denklemi: y = {beta0:.2f} + {beta1:.2f}x")
Çıktı:
Lineer Regresyon Denklemi: y = 1.30 + 0.90x
Çoklu (Çoklu) Lineer Regresyon
Birden fazla bağımsız değişkenin (x1, x2, x3, vb.) kullanıldığı bir modeldir. Bu tür regresyon, bir bağımlı değişkenin birden fazla bağımsız değişkenle olan karmaşık ilişkilerini modellemeye çalışır. Denklemi aşağıdaki gibi genelleştirilebilir:
y = β0 + β1x1 + β2x2 + β3x3 + ... + βnxn + ε
Burada:
y, bağımlı değişkenin tahmini değerini temsil eder.
β0, sabit terimi temsil eder.
β1, β2, β3,..., βn, her bir bağımsız değişkenin eğim katsayısını temsil eder.
ε, hata terimini ifade eder.
Lineer regresyonun temel amacı, β0, β1, β2, ... gibi katsayıları tahmin etmek ve bu katsayılarla veriler arasındaki ilişkiyi anlamaktır. Bu, en küçük kareler yöntemi gibi istatistiksel teknikler kullanılarak yapılır. Bu teknik, hata teriminin karelerinin toplamını minimize ederek en iyi uygun modeli bulmayı amaçlar.
Lineer regresyon, özellikle tahmin ve doğrusal ilişkileri modellemek için kullanışlıdır, ancak veriler arasındaki ilişki gerçekten lineer değilse, başka regresyon yöntemleri kullanılabilir.
0 Comments
Recommended Comments
There are no comments to display.