Regresyon analizi, bir bağımlı değişkenin bir veya daha fazla bağımsız değişkenle ilişkisini modellemek için kullanılan istatistiksel bir tekniktir. Regresyon algoritmaları, veri bilimi ve istatistik alanında yaygın olarak kullanılır ve özellikle tahminleme ve trend analizi gibi uygulamalarda önemli bir rol oynar.
Doğrusal (Linear) Regresyon
Linear Regression, bağımlı ve bağımsız değişkenler arasındaki ilişkiyi temsil eden doğrusal bir denklem oluşturarak tahmin etmeye çalışır. Bu model, verilerdeki ilişkiyi en iyi şekilde temsil eden doğruyu bulmaya
çalışır. Özellik sayımız bir ise “Simple Linear Regression”, birden fazla ise “Multiple Linear Regression” kullanılır.
Hiperparametreler
Parametre | Type | Default | Açıklama |
fit_intercept | bool | True | Model için kesişiminin (intercept) hesaplanıp hesaplanmayacağını belirler. |
copy_X | bool | True | Eğer True ise modeli eğitirken X değeri fonksiyonda kullanılacak ve eğitimden sonra da aynı olacaktır. False olduğunda ise X fonksiyona girdikten sonra ilk hali ile aynı olmayabilir. |
n_jobs | int | None | Hesaplama için kullanılacak iş sayısı. Büyük problemlerde işe yarar, hızlanma sağlar. |
positive | bool | False | Katsayıyı (coefficient) pozitif olmaya zorlar. |
Lasso
Lasso (Least Absolute Shrinkage and Selection Operator), model karmaşıklığını kontrol etmek için L1 düzenlemesini kullanır. Lineer regresyonun bir türevidir ve L1 düzenlemesi (penalty) ekleyerek modeldeki katsayıları sıfıra yaklaştırarak özellik seçimi yapar. Model, katsayıların sıfıra yaklaşmasını sağlayarak önemsiz özellikleri elemeye çalışır. İlgisiz değişkenlerin katsayılarını sıfıra eşitler.
Hiperparametreler
Parametre | Type | Default | Açıklama |
alpha | float | 1.0 | L1 düzenlemesi katsayısıdır. Negatif olmamalıdır. alpha 0 olduğunda doğrusal regresyon gibi sonuç döner. |
fit_intercept | bool | True | Kesişimin (intercept) uydurulup uydurulmayacağı. |
copy_X | bool | True | Eğer True ise modeli eğitirken X değeri fonksiyonda kullanılacak ve eğitimden sonra da aynı olacaktır. False olduğunda ise X fonksiyona girdikten sonra ilk hali ile aynı olmayabilir. |
precompute | bool | False | Hesaplamaları hızlandırmak için önceden hesaplanmış bir Gram matrisi olup olmayacağı. |
max_iter | int | 1000 | Maksimum iterasyon sayısı. |
warm_start | bool | 1e-4 | Optimizasyon toleransı. |
positive | bool | False | True ise önceki fit çözümünü başlangıç olarak kullanır. |
selection | string | “cyclic” | “random” olduğu zaman her iterasyonda rastgele bir katsayı güncellenir. Tol 1e-4’den yüksek olduğunda daha hızlı yakınsamaya yol açar. |
Ridge
Çok değişkenli regresyon verilerini analiz etmek için kullanılır. Lineer regresyonun bir türevidir ve genellikle aşırı uydurma (overfitting) problemini çözmek için kullanılır. Model, lineer regresyonun temel yapısını korurken, katsayıları sınırlamak için L2 düzenlemesi (penalty) ekler. Bu düzenleme, kaysayıların büyüklüğünü sınırlayarak modeli daha da genelleştirilmiş hale getirir. Tüm değişkenler ile modeli oluşturur, ilgisiz değişkenleri çıkarmaz fakat katsayılarını sıfıra yaklaştırır.
Hiperparametreler
Parametre | Type | Default | Açıklama |
alpha | float | 1.0 | L2 düzenlemesi katsayısıdır. Bu parametre arttıkça katsayıların büyüklüğüne daha fazla düzenleme uygulanır. |
fit_intercept | bool | True | Kesişimin (intercept) uydurulup uydurulmayacağı. |
copy_X | bool | True | Eğer True ise modeli eğitirken X değeri fonksiyonda kullanılacak ve eğitimden sonra da aynı olacaktır. False olduğunda ise X fonksiyona girdikten sonra ilk hali ile aynı olmayabilir. |
max_iter | int | None | Gradyan çözücüsü için maximum iterasyon sayısı. |
tol | float | 1e-4 | Katsayı hassasiyeti (coef) |
solver | tol | 1e-4 | Hesaplamada kullanılacak çözücü. |
positive | string | “auto” | True ise katsayıları pozitif olmaya zorlar. |
random_state | bool | False | Seed |
Bayesian Ridge
Bayes teoremini ve bayes istatistik prensiplerine dayanarak lineer regresyon temelli bir modeldir. Bayes teoremi kullanarak olasılık dağılmını güncelleyerek parametreleri belirler.
Çalışma Adımları
- Bir önceki dağılım (prior distribution) belirlenir. Bu, parametrelerin olası değerleri hakkında bir öngörü sağlar.
- Problemi bir olasılık dağılımı olarak ele alır.
- Veri dağılımına bağlı olarak bir olasılık fonksiyonu (likelihood function) belirlenir. Bu fonksiyon, modelin parametrelerinin belirli bir değere sahip olma olasılığını tanımlar.
- Model, veriye dayalı olarak bayes teoremini kullanarak önceki dağılımları günceller.
- Güncellenmiş dağılımlar modelin parametreleri için bir sonraki dağılımı (posterior distribution) oluşturur.
- Model bu dağılımı kullanarak tahmin yapar.
Hiperparametreler
Parametre | Type | Default | Açıklama |
alpha_1 | float | 1e-6 | Prior distribution için L2 regularizasyon hassasiyeti. |
alpha_2 | float | 1e-6 | Likelihood function için L2 regularizasyon hassasiyeti. |
lambda_1 | float | 1e-6 | Prior distribution için L1 regularizasyon hassasiyeti. |
lambda_2 | float | 1e-6 | Likelihood function için L1 regularizasyon hassasiyeti. |
tol | float | 1e-3 | Optimizasyon algoritmasının toleransı. |
Kernel Ridge
Doğrusal olmayan regresyon problemlerini çözmek için kullanılır. Temelde, Ridge fonksiyonu ile aynıdır. Sadece düzenleme (regularization) işleminden önce doğrusal olmayan ilişkileri modellemek için özellik vektörlerini doğrusal olmayan bir şekilde dönüştürür. Bu dönüşüm işlemi için çekirdek fonksiyonlarını kullanır.
Hiperparametreler
Parametre | Type | Default | Açıklama |
alpha | float | 1 | Ridge regresyonundaki düzenleme parametresi. |
kernel | str | “linear” | Kullanılacak olan çekirdek fonksiyonu. |
gamma | float | None | RBF ve Polinom çekirdeklerinde kullanılan çekirdek parametresidir. Çekirdek fonksiyonunun esnekliğini belirler. |
degree | float | 3 | Polinom çekirdeklerinde kullanılır. Polinomun derecesini belirler. |
ElasticNet
L1 (Lasso) ve L2 (Ridge) düzenlemesinin bir kombinasyonunu kullanır. L1 ve L2 düzenleme terimlerini kontrol etmek için “alpha” parametresini kullanır. Alpha = 0 ise L2 uygulanır, böylece ElasticNet, Ridge regresyonuna dönüşür. Alpha = 1 ise L1 uygulanır, böylece ElasticNet, Lasso regresyonuna dönüşür.
Hiperparametreler
Parametre | Type | Default | Açıklama |
alpha | float | 1.0 | L1 ve L2 regularizasyon birleşimini kontrol eder. |
l1_ratio | float | 0.5 | L1’in dağılımı. |
max_iter | int | 1000 | Optimizasyon algoritmasının maksimum iterasyon sayısı. |
tol | float | 1e-4 | Optimizasyon algoritmasının toleransı. |
Huber
Regresyon problemlerinde kullanılan bir kayıp fonksiyonudur. Aykırı değerlere karşı dirençlidir. L1 ve L2 düzenlemelerini birlikte kullanır. Mutlak hata ve kare hata arasında bir geçiş bölgesi içerir. Bu hata değeri küçük olduğunda L2 (kare hata), büyük olduğunda L1 (mutlak hata) kullanılır.
Gradient Boosting
Toplu öğrenme yöntemidir. Modelin performansını geliştirmek için hatalara odaklanır.
- Temel bir model seçilir.
- Tüm veri seti için bir başlangıç tahmini yapılır. Regresyon için veri setinin ortalaması olabilir. Sınıflandırma için veri setindeki sınıfların oranı olabilir.
- Başlangıç tahmininden sonra, gerçek değerler ile başlangıç tahmin arasındaki hatalar hesaplanır. Bu hatalar, modelin daha fazla odaklanması gereken alanları gösterir.
- Hataların eğimi (gradient) hesaplanır. Eğim, her bir örnek için hata fonksiyonunun, tahmin edilen değerlere göre ne kadar değiştiğini gösterir.
- Bu hataları tahmin etmek için temel bir model oluşturur.
- Temel model, bir öğrenme oranı ile ağırlanır ve hata tahminine katılır. Öğrenme oranı, her temel modelin katkısını düzenler ve modelin aşırı uyumunu kontrol eder.
- Yeni temel modelin tahminleri, önceki tahminlere eklenir ve güncellenmiş bir tahmin elde edilir.
- İterasyon sayısına kadar 3 ve 7 arası tekrarlanır.
Hiperparametreler
Parametre | Type | Default | Açıklama |
n_estimators | int | 100 | Oluşturulacak temel modellerin sayısı. |
learning_rate | float | 0.1 | Her bir temel modelin katkısının ölçeği |
max_depth | int | 3 | Oluşturulacak karar ağaçlarının maksimum derinliği. |
min_samples_split | int | 2 | Bir iç düğümün ikiye bölünmeden önce kaç örneğe sahip olması gerektiği. |
min_samples_leaf | int | 1 | Bir yaprak düğümünün en az kaç örneğe sahip olması gerektiği. |
subsample | float | 1 | Her bir temel modelin eğitiminde kullanılacak örneklerin oranı. SGD’ye benzer bir etkiye sahiptir. |
ARD Regresyon
ARDRegression (Automatic Relevance Determination Regression), L1 ve L2 regularizasyon yöntemlerini birleştirerek çalışır.
Adaptive Boosting
Zayıf öğrenicileri bir araya getirerek güçlü bir öğrenici oluşturmak için kullanılan bir toplu öğrenme yöntemidir.
Çalışma Adımları
- Her bit örnek başlangıçta 1/N ağırlığına sahiptir. N, toplam örnek sayısı.
- Bir zayıf öğrenici eğitilir.
- Doğruluğu düşük olan örneklerin ağırlığı arttırılır. Bu, yanlış sınıflandırılan örneklerin daha fazla dikkate alınmasını sağlar. Modelin bu örnekleri daha iyi sınıflandırması beklenir.
- Ağırlıklandırılmış eğitim veri seti, bir sonraki zayıf öğreniciyi eğitmek için kullanılır. Bu süreç, belli bir iterasyon (boosting round) için tekrarlanır.
- Her bir zayıf öğrenici, tahminlerin gücüne göre bir ağırlıkla birleştirilir. Bu ağırlıklandırma işlemi, her bir öğreticinin doğruluğuna göre belirlenir. Daha doğru tahminler, daha büyük ağırlığa sahip olur.
- Zayıf öğrenicilerin bir araya getirilmesiyle güçlü bir öğrenici elde edilir.
Poisson
Poisson regresyonu, bağımlı değişkenin sayısal bir değer olduğu ve bağımsız değişkenlerin bu sayıyı etkilediği durumlarda kullanılır. Genellikle pozitif değerler alan ve sayısal olmayan verileri modellemek için kullanılır. Poisson dağılımına dayalıdır. Poisson dağılımı, nadir olayların sayısını modellemek için kullanılan bir olasılık dağılımıdır. Bağımlı değişkenin Poisson dağılımına uyduğu varsayımıyla çalışır ve bağımsız değişkenlerin bu dağılım üzerindeki etkilerini modellemeye çalışır.
Quantile
Temel amacı, belirli yüzdelik dilimlerdeki (quantile) hedef değişkenlerin tahminini yapmaktır. Bu, verinin farklı yüzdeliklerde nasıl dağıldığını dikkate alarak regresyon yapmayı sağlar. Özellikle medyanın veya diğer yüzdelik değerlerinin tahmin edilmesinde kullanılır. Veri dağılımının herhangi bir yerindeki değerlerin tahmin edilmesini sağlar.
SGD
Stochastic Gradient Descent (SGD), her bir veri noktası için gradyan iniş algoritmasını kullanarak ağırlıklarını günceller ve böylece regresyon yoluyla öğrenir.
Çalışma Adımları
- Eğitim verilerindeki örneklerden rastgele başlangıç parametreleriyle başlar.
- Rastgele seçilen örnekler üzerinden gradyan (türev) hesaplar. Bu gradyan, kayıp fonksiyonunun optimuma doğru yönelik bir tahmini sağlar.
- Hesaplanan gradyan kullanılarak parametreler güncellenir. SGD, her adımda gradyanın ters yönünde bir adım atarak parametrelerin güncellenmesini sağlar. Bu adım öğrenme oranıdır.
- Parametreler güncellendikçe kayıp fonksiyonunun değeri azalır.
- SGD belirli bir iterasyon sayısına uğraşana kadar adımları tekrarlar.