Jump to content
  • entries
    7
  • comments
    0
  • views
    384

Doğuhan ELMA

39 views

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ı:

1.png

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ı:

1.png

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.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...