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

Denetimli Öğrenme - Regresyon (Regression)


Doğuhan ELMA

75 views

Regresyon (Regression), makine öğrenme ve istatistik alanlarında kullanılan bir gözetimli öğrenme yöntemidir. Bu yöntem, bir bağımlı değişkenin (çoğunlukla sürekli bir sayısal değer) bir veya daha fazla bağımsız değişkenle nasıl ilişkilendiğini ve bu ilişkinin modelini oluşturmayı amaçlar. Regresyon, genellikle sayısal tahminler yapmak veya bağımlı değişkenin davranışını anlamak için kullanılır.

İşte regresyonun temel unsurları:

Bağımlı Değişken (Dependent Variable): Regresyon analizinde, tahmin veya açıklama yapmak istediğiniz ana değişkeni ifade eder. Bu değişken, genellikle sürekli veya sayısal bir değerdir. Örneğin, ev fiyatları, hava sıcaklığı, hisse senedi fiyatları gibi değişkenler bağımlı değişkenler olabilir.

Bağımsız Değişkenler (Independent Variables): Bağımsız değişkenler, bağımlı değişkenin davranışını veya değerini etkileyebilecek diğer değişkenlerdir. Bu değişkenler, regresyon modelinin temelini oluşturur. Bir regresyon modelinde bir veya daha fazla bağımsız değişken bulunabilir. Örneğin, ev fiyatlarını tahmin etmek için oda sayısı, banyo sayısı, evin büyüklüğü gibi bağımsız değişkenler kullanılabilir.

Regresyon Modeli (Regression Model): Regresyon modeli, bağımlı değişkenle bağımsız değişkenler arasındaki ilişkiyi matematiksel olarak ifade eden bir denklem veya modeldir. Bu model, veriye uyarlanarak bağımlı değişkenin tahmin edilmesine veya açıklanmasına yardımcı olur. Örnek olarak, basit doğrusal regresyon modeli (y = ax + b) veya çoklu doğrusal regresyon modeli (y = a1x1 + a2x2 + ... + anxn) gibi modeller kullanılabilir.

Regresyon Katsayıları (Regression Coefficients): Regresyon modeli içinde yer alan katsayılar, bağımsız değişkenlerin bağımlı değişken üzerindeki etkisini ifade eder. Bu katsayılar, regresyon modelinin öğrenme süreci sırasında tahmin edilir.

Hata Terimi (Error Term): Regresyon modeli, gerçek veri ile tahmin edilen değer arasındaki farkları hesaplar. Bu farklar hata terimi olarak adlandırılır. Regresyon modelinin amacı, bu hata terimini minimize etmektir.

Regresyon, birçok farklı türde uygulama alanında kullanılır, örneğin ekonomi, finans, tıp, meteoroloji ve mühendislik gibi birçok alanda. Regresyon analizi, veri analizi, tahminler yapma, trendleri belirleme ve sonuçların anlaşılmasında önemli bir araçtır. Ayrıca, regresyon, başka bir gözetimli öğrenme yöntemi olan sınıflandırmadan da ayrılır. Sınıflandırma, kategorik sonuçları tahmin etmeye odaklanırken, regresyon sayısal sonuçları tahmin etmeye odaklanır.

Bir regresyon modelinin temel unsurlarını gösteren örnek bir kod aşağıda verilmiştir. Bu örnek, basit doğrusal regresyon kullanarak bir bağımlı değişken ile bir bağımsız değişken arasındaki ilişkiyi modellemektedir:

import numpy as np
from sklearn.linear_model import LinearRegression

# Örnek veri
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)  # Bağımsız değişken
y = np.array([2, 4, 5, 4, 5])  # Bağımlı değişken

# Regresyon modeli oluşturma
model = LinearRegression()
model.fit(X, y)

# Regresyon modeli sonuçlarını tahmin etme
y_pred = model.predict(X)

# Model parametreleri
coef = model.coef_  # Eğim (katsayı)
intercept = model.intercept_  # Kesme terimi

# Sonuçları görüntüleme
print("Eğim (Katsayı):", coef)
print("Kesme Terimi:", intercept)

# Tahminleri görselleştirme
import matplotlib.pyplot as plt
plt.scatter(X, y, label='Gerçek Veri')
plt.plot(X, y_pred, color='red', linewidth=2, label='Regresyon Çizgisi')
plt.xlabel('Bağımsız Değişken')
plt.ylabel('Bağımlı Değişken')
plt.legend()
plt.show()

Çıktı:

1.png

 

Bu kod örneği, aşağıdaki regresyonun temel unsurlarını gösterir:

Örnek veri oluşturma: Bağımlı ve bağımsız değişkenlerin tanımlanması.

Regresyon modeli oluşturma: LinearRegression sınıfını kullanarak bir regresyon modeli oluşturma.

Modeli veriye uyarlama: fit yöntemi ile modelin veriye uyarılması.

Regresyon modeli sonuçlarını tahmin etme: predict yöntemi ile bağımlı değişkenin tahmin edilmesi.

Model parametreleri: Eğim (katsayı) ve kesme terimi gibi model parametrelerinin alınması.

Sonuçları görüntüleme: Gerçek veriyi ve regresyon çizgisini bir grafikte görselleştirme.

 

Regresyon Modelleri:

Regresyon analizi için farklı regresyon modelleri mevcuttur ve seçim yaparken veri türü ve problemin gereksinimleri göz önünde bulundurulmalıdır. İşte yaygın olarak kullanılan bazı regresyon modelleri:

Basit Doğrusal Regresyon (Simple Linear Regression): Bir bağımlı değişken ile sadece bir bağımsız değişken arasındaki ilişkiyi modellemek için kullanılır. Örneğin, ev fiyatlarını oda sayısı gibi tek bir değişkene bağlamak.

Çoklu Doğrusal Regresyon (Multiple Linear Regression): Bir bağımlı değişken ile birden fazla bağımsız değişken arasındaki ilişkiyi modellemek için kullanılır. Örneğin, ev fiyatlarını oda sayısı, banyo sayısı, evin büyüklüğü gibi birden fazla değişkene bağlamak.

Polinom Regresyon (Polynomial Regression): Bağımlı değişken ile bağımsız değişkenler arasındaki ilişkiyi doğrusal olmayan bir şekilde modellemek için kullanılır. Bu model, bir veya daha fazla bağımsız değişkeni polinom denklemleri kullanarak ifade eder.

Lojistik Regresyon (Logistic Regression): Sınıflandırma problemleri için kullanılırken, sonucun bir sınıfa ait olma olasılığını tahmin etmek için kullanılır. Özellikle ikili sınıflandırma problemlerinde (örneğin, hasta/sağlıklı) kullanılır.

Ridge Regresyon ve Lasso Regresyon: Çoklu doğrusal regresyonun varyansı azaltmak ve aşırı uyumu önlemek için kullanılan regresyon türleridir. Ridge regresyon, L2 düzenlemesi kullanırken, Lasso regresyon L1 düzenlemesi kullanır.

Elastic Net Regresyon: Hem L2 hem de L1 düzenlemesini bir araya getiren bir regresyon türüdür. Hem katsayıları sıfıra yaklaştırırken hem de çoklu doğrusal regresyonun aşırı uyumu azaltır.

Poisson Regresyon: Bağımlı değişkenin sayısal değerlerini modellemek için kullanılır ve sonuçlar pozitif ve kesirli (tam sayı) olma eğilimindedir. Özellikle olay sayılarını tahmin etmek için kullanılır, örneğin trafik kazaları sayısı.

Huber Regresyon: Aykırı değerlere daha dayanıklı olan bir regresyon türüdür. Huber kaybı, orta büyüklükte hatalara daha az ceza verirken büyük hatalara daha fazla ceza verir.

Robust Regresyon: Aykırı değerlere dayanıklı regresyon türlerinin genel adıdır. Bunlar, modele aykırı değerlerin etkilerini azaltmak için tasarlanmıştır.

Bayesian Regresyon: Bu regresyon türü, bayes teoremini temel alır ve belirsizlikleri daha iyi ele almak için kullanılır. Bağımlı değişkenin tahmininde olasılık dağılımını dikkate alır.

Her bir regresyon modeli farklı problem türlerine ve gereksinimlerine uyar, bu nedenle doğru modelin seçilmesi önemlidir. Model seçimi, veri analizi, hata analizi ve çapraz doğrulama gibi yöntemlerle yapılmalıdır.

 

Regresyon Hata Metrikleri:

 Regresyon modellerinin performansını değerlendirmek ve modelin tahminlerinin gerçek değerlerle ne kadar iyi eşleştiğini anlamak için kullanılır. Aşağıda yaygın olarak kullanılan bazı regresyon hata metrikleri bulunmaktadır:

Ortalama Mutlak Hata (Mean Absolute Error - MAE): Gerçek değerler ile tahmin edilen değerler arasındaki mutlak farkların ortalamasını hesaplar. MAE, her hata için eşit ağırlığa sahiptir ve aykırı değerlere (outliers) hassas değildir.

1_u4kE_TFOJ1vnXDWH8ldYxw.webp

1_zwscwgagz9WHLhGXW9_hzg.gif

Grafiksel Gösterim:

1.png

Ortalama Kare Hata (Mean Squared Error - MSE): Gerçek değerler ile tahmin edilen değerler arasındaki kare farkların ortalamasını hesaplar. MSE, büyük hataları daha fazla cezalandırır ve daha hassas bir hata metriğidir.

1_gX0lcWVymUQKCJza21Ihjg.webp

1_n37x4cBieB5LBmOZCioSBw.gif

 

Kök Ortalama Kare Hata (Root Mean Squared Error - RMSE): MSE'nin karekökünü alarak hesaplanır. Sonuç, orijinal verinin birimiyle aynı birimde olur ve daha yorumlanabilir bir metrik sağlar.

1_FbqwIYvf1GUg88Wk5pnfag.webp

Ortalama Mutlak Yüzde Hata (Mean Absolute Percentage Error - MAPE): Gerçek değerlere göre tahminlerin yüzde hatalarının ortalamasını hesaplar. MAPE, tahminlerin yüzde hatalarını değerlendirmek için kullanışlıdır.

R-Kare (R-Squared): Modelin bağımsız değişkenler tarafından açıklanan varyansın oranını ölçer. Değer aralığı 0 ile 1 arasındadır ve daha yüksek bir R-kare değeri daha iyi bir model uyumunu gösterir.

 

Kod:

from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_squared_log_error, r2_score
import numpy as np

# Örnek veri
gercek_degerler = np.array([2, 4, 7, 9, 11])
tahmin_degerler = np.array([1.8, 3.9, 6.9, 8.8, 10.5])

# Ortalama Mutlak Hata (Mean Absolute Error - MAE)
mae = mean_absolute_error(gercek_degerler, tahmin_degerler)
print("MAE:", mae)

# Ortalama Kare Hata (Mean Squared Error - MSE)
mse = mean_squared_error(gercek_degerler, tahmin_degerler)
print("MSE:", mse)

# Kök Ortalama Kare Hata (Root Mean Squared Error - RMSE)
rmse = np.sqrt(mse)
print("RMSE:", rmse)

# R-Kare (R-Squared)
r2 = r2_score(gercek_degerler, tahmin_degerler)
print("R-Squared:", r2)

Çıktı:

MAE: 0.2199999999999998
MSE: 0.06999999999999992
RMSE: 0.2645751311064589
R-Squared: 0.993421052631579

 

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...