Regresyon, bağımlı bir değişken ile bir veya daha fazla bağımsız değişken arasındaki ilişkiyi modellemek için kullanılan bir istatistiksel yöntemdir. Genellikle sürekli bir hedef değişkeni tahmin etmek için kullanılır.
Regresyon analizinde amaç veri setine en uygun olan doğrusal ya da doğrusal olmayan bir fonksiyonu bulmaktır.
Bu konumuzda basit doğrusal regresyon modeliyle bir veri seti üzerinden model oluşturacağız.
İlk olarak gerekli kütüphaneleri içe aktaralım
Python:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
Daha sonra veri seti oluşturalım
Örnek olarak bir evin yaşı ile fiyatı arasındaki ilişkiyi inceleyen bir veri seti oluşturalım.Bunları oluşturmadan önce iki tane değişken oluştualım. Bunlar:
Bağımsız değişken: Ev yaşı (yıl) ve
Bağımlı değişken: Fiyat (1000$)
Python:
np.random.seed(42)
ev_yasi = np.random.randint(1, 100, size=100) # 1 ile 100 arasında rastgele yaşlar
ev_fiyati = 500 - (2 * ev_yasi) + np.random.normal(0, 10, 100) # Yaşa göre fiyat: 500 - 2 * yaş + gürültü
Şimdi veri setini eğitim ve test olarak ayıralım
Python:
X = ev_yasi.reshape(-1, 1) # Bağımsız değişken
y = ev_fiyati # Bağımlı değişken
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Daha sonra modellerimiz için LinearRegression sınıfını kullanarak bir doğrusal regresyon modeli oluşturalım.
Python:
# Modeli tanımla ve eğit
model = ()
model.fit(X_train, y_train)
# Tahmin yapma
y_pred = model.predict(X_test)
# Modelin performansını değerlendirme (Mean Squared Error - Ortalama Kare Hatası)
mse = mean_squared_error(y_test, y_pred)
print(f"Modelin Ortalama Kare Hatası (MSE): {mse:.2f}")
Şimdi modelimizin doğruluğunu görselleştirmek için tahmin edilen ve gerçek değerleri bir grafik üzerinde gösterelim.
Python:
plt.scatter(X_test, y_test, color='blue', label='Gerçek Değerler')
plt.plot(X_test, y_pred, color='red', label='Tahmin Edilen Doğru')
plt.title('Ev Yaşı ile Fiyatı Arasındaki Doğrusal Regresyon')
plt.xlabel('Ev Yaşı (Yıl)')
plt.ylabel('Fiyat (1000$)')
plt.legend()
plt.show()
Doğrusal regresyonun önemli çıktılarından biri, modelin katsayılarıdır. Bu katsayılar, her bağımsız değişkenin
hedef değişkene olan etkisini gösterir.
Python:
print(f"Regresyon Doğrusu Eğim: {model.coef_[0]:.2f}")
print(f"Regresyon Doğrusu Y-ekseni Kesişim Noktası: {model.intercept_:.2f}")
Çıktılar:
Kod:
Modelin Ortalama Kare Hatası (MSE): 90.75
Regresyon Doğrusu Eğim: -2.06
Regresyon Doğrusu Y-ekseni Kesişim Noktası: 499.73
Son düzenleme:





