Regresyon ve Sınıflandırma Algoritmaları ve Algoritmaların Önemli Hiperparametreleri

Utku Özkan
roofstacks-tech

--

Makine Öğrenmesi Problemlerinden Regresyon ve Sınıflandırma Modelleri için kullanılan bazı algoritmaları ve bu algoritmaların performanslarını arttırmak için kullanılan önemli parametreleri açıklamaya ve kullanım alanlarını göstermeye çalıştım.

· Doğrusal Regresyon Modelleri,

· Doğrusal Olmayan Regresyon Modelleri,

· Sınıflandırma Modelleri,

Doğrusal Regresyon Modelleri Nelerdir?

Temelde; Bağımlı bir değişkenin bağımsız değişkenlerle olan ilişkisini modellemek ve bu modelleri kullanarak bağımlı değişkenin tahminlemesini yapmaktır. Bu tahminler, bir çizgi veya hiper düzlem tarafından ifade edilir. Bu sebeple doğrusal regresyon problemleri olarak ifade edilir.

Bağımlı Değişken(Y); Tahmin etmek istediğimiz değişkenlerdir. Örnek olarak sıcaklık, gelir, fiyat vb. düşünülebilinir.

Bağımsız Değişken(X); Bağımlı değişkeni tahminlemek için kullanacağımız değişkenlerdir. Bir veya birden fazla bağımsız değişken olabilmesiyle beraber tek bağımsız değişkeni olan modeller “basit doğrusal regresyon” reklam bütçesine göre satış tahmini örnek olarak verilebilir, birden fazla bağımsız değişkenin kullanıldığı modellerde ise “çoklu doğrusal regresyon” modeli denir.

Regresyon Modeli; Bağımlı değişken ile bağımsız değişkenler arasındaki ilişkiyi modellemek için bir matematiksel bir denklem kullanılır.

Basit Doğrusal Regresyon Denklemi;

Y = b0 + b1X1 + b2X2 + … bnXn + e

b0 : Kesme Noktası, yani tüm bağımsız değişkenler sıfır olduğunda Y’nin değeri

b1, b2,… bn ; Bağımsız değişkenlerin katsayıları (Eğimler)

e ; Hata terimi (gerçek değerler ile tahmin değerleri arasındaki farkı ifade eder.)

Bazı Doğrusal Regresyon Algoritmaları

- Linear Regression

- Lasso Regresyon

- Ridge Regresyon

- Elastic Net Regresyon

Regresyon Modelleri için Başarı Değerlendirme;

- MSE(Ortalama Kare Hatası)

- RMSE(Kök Ortalama Kare Hatası)

- MAE(Ortalama Mutlak Hata)

Lasso Regresyon;

Lasso regresyon için L1 yöntemi denir. Amaç; Hata kareler toplamını minimum yapan katsayıları ceza parametresi yardımı ile bulmaktır.

Ridge Regresyon;

Ridge regresyon için L2 yöntemi denir.

Ridge Regresyonda Alpha Parametresi; L2 düzenlemesi (L2 regularization) olarak bilinen bir tür düzenleme veya ceza parametresini temsil eder. Ridge regresyon, doğrusal regresyonun bir türüdür ve aşırı uydurmaya karşı daha dayanıklı hale getirilmiştir.

Alpha, Ridge regresyonun düzenleme seviyesini kontrol eden bir hiperparametredir. Bu hiperparametre, modelin karmaşıklığını ve aşırı uydurmayı yönetmek için kullanılır.

Alpha’nın Sıfır Olması: Alpha sıfır olduğunda, Ridge regresyon doğrusal regresyon ile aynı hale gelir. Bu durumda, hiçbir L2 düzenlemesi uygulanmaz, yani yalnızca en küçük kareler yöntemi kullanılır. Model, bağımsız değişkenlerle doğrusal bir şekilde uyarlanır ve aşırı uydurma riski artabilir.

Alpha’nın Artması: Alpha değeri arttıkça, düzenleme etkisi artar. Bu, modelin katsayılarını sıfıra yaklaştırır. Bu, modelin aşırı uydurmaya karşı daha dirençli olmasını sağlar ve genelleme yeteneğini artırır. Ancak, aşırı düzenleme (underfitting) riskini artırabilir.

Optimal Alpha Değeri: Ridge regresyonun optimal alpha değeri, veri setinin yapısına ve analiz gereksinimlerine bağlı olarak değişir. Genellikle çapraz doğrulama (cross-validation) yöntemleri kullanılarak en iyi alpha değeri seçilir. Bu, modelin test verileri üzerinde en iyi performansı sağlayacağı alpha değerini bulmaya yardımcı olur.

Alpha’nın etkisi, Ridge regresyonun model karmaşıklığı üzerinde büyük bir etkisi olduğu için önemlidir. Veri seti çok fazla özellik içeriyorsa veya aşırı uydurma riski taşıyorsa, alpha’nın artırılması, modelin daha genellemeyi teşvik etmesine yardımcı olabilir. Ancak, alpha’yı çok fazla artırmak, modelin özgürlüğünü sınırlayarak doğru ilişkileri kaybetme riskini artırabilir. Bu nedenle, alpha değerini dikkatli bir şekilde ayarlamak ve doğrusal regresyon sonuçları ile karşılaştırmak önemlidir.

ElasticNet Regresyon;

ElasticNet regresyonun temel amacı, hem Lasso regresyonun avantajlarından yararlanmak hem de Ridge regresyonun avantajlarından yararlanmak için tasarlanmıştır. Bu nedenle adını “elastic” (esnek) ve “net” (ağ) kelimelerinin birleşiminden almıştır. ElasticNet regresyon, özellikle yüksek boyutlu veri setlerinde, çoklu doğrusal bağlantıların olduğu verilerde ve aşırı uydurmaya karşı hassas olunması gereken durumlarda kullanışlıdır.

Doğrusal Olmayan Regresyon Modelleri Nelerdir?

Verilerdeki ilişkilerin doğrusal olmadığı durumlar için kullanılan regresyon teknikleridir. Bu modeller, verilerin daha karmaşık ve doğrusal olmayan ilişkilere sahip olduğu durumları ele alır.

Bazı Doğrusal Olmayan Regresyon Algoritmaları

· K- En Yakın Komşu (KNN)

· Destek Vektör Regresyonu (SVR)

· Yapay Sinir Ağları

· CART (Classification and Regression Trees)

· Random Forests (Rastgele Ormanlar)

· Gradient Boosting Machines

· XGBoost

· Light GBM

· CatBoost (Kategorik değişkenler ile daha performanslı çalışır.)

KNN;

· K-NN regresyonu, belirli bir veri noktasının tahmini için komşu noktaların ortalama değerini kullanır.

· Doğrusal olmayan ilişkileri modellemek için kullanışlıdır.

· Sınıflandırma ya da regresyon problemlerinde kullanılabilen algoritmalardır.

· Parametrik olmayan (veriye daha fazla uyarlanabilir ve daha karmaşık ilişkileri yakalayabilirler, ancak aynı zamanda daha fazla veri gereksinimine sahiptirler) bir öğrenme türüdür.

· Özellikle büyük veri setlerinde performans acısından çok iyi olduğu söylenemez, fakat basit ve kolayca uygulanabilir olmasından dolayı çok sık kullanılan algoritmalardan birisidir.

Destek Vektör Regresyon (Support Vector Regression);

SVR, veriyi bir hiperdüzlem üzerinde sınırlar ve verilerin bu hiperdüzlem etrafında bir marj içinde bulunmasını hedefler. Temel olarak, SVR, belirli bir hiperdüzlem etrafında verinin toplanmasını ve bu hiperdüzleme yakın olan noktaların modelin tahminine daha fazla katkıda bulunmasını sağlar.

· Güçlü ve esnek modelleme tekniklerinden birisidir.

· Sınıflandırma ve regresyon için kullanılabilinir.

· Dayanıklı (Robust) bir regresyon modelleme tekniğidir.

SVR’nin başlıca hiperparametreleri arasında “epsilon” (marj genişliği), “C” (ceza parametresi) ve çekirdek fonksiyonu tipi yer almaktadır. Bu hiperparametreler, modelin davranışını ve performansını etkileyebilir ve genellikle çapraz doğrulama ile ayarlanır.

Yapay Sinir Ağları;

· Biyolojik sinir sistemlerinden esinlenerek tasarlanmış bir makine öğrenimi modelidir. Bu modeller, büyük veri setlerinde karmaşık işlemleri ve desenleri tanımak ve tahmin etmek için kullanılır.

· Yapay Sinir Ağları, homojen veri setleri üzerinde daha iyi performans gösteren algoritmalardır.

CART (Classification and Regression Tree);

Hem sınıflandırma hem de regresyon problemleri için kullanılabilen çok yönlü bir algoritmadır. Aynı temel mantıkla çalışırken, veri türüne bağlı olarak farklı sonuçlar üretebilir. Ağaç yapısının derinliği ve bölme kriterleri gibi parametreler, modelin performansını etkileyen önemli faktörlerdir ve bu parametrelerin ayarlanması, çapraz doğrulama gibi yöntemlerle yapılır.

· Amaç veri seti içerisindeki karmaşık yapıları basit karar yapılarına dönüştürmektir.

· Heterojen veri setleri belirlenmiş bir değişkene göre homojen alt gruplara ayrılır.

· Aşırı öğrenmeye eğilimli bir algoritmadır.

· Daha karmaşık problemlerde yani daha büyük veri setlerinde tahmin başarısı diğer algoritmalara biraz daha başarısız olduğu görülmüştür.

· Karar ağaçlarının temelini oluşturur.

· Genellenebilirlik kaygısı olmayan ve mevcut durumu ifade etmek için makine öğrenmesi algoritması kullanmak istediğimiz senaryolarda en başarılı olan algoritmalardan birisidir.

· Yani veri seti içerisinde hedef değişkene göre diğer bağımsız değişkenlerin barındırdığı bilgilerin nasıl homojenleştirilmesi gerektiğini en güzel ortaya koyan algoritmalardan birisidir.

Random Forest;

· Çok sayıda karar ağacının bir araya gelerek güçlü bir toplu öğrenme modeli oluşturduğu bir makine öğrenimi algoritmasıdır.

· Bu algoritma, sınıflandırma ve regresyon problemleri için kullanılabilir.

· Random Forest’ın amacı, doğrusal ve doğrusal olmayan ilişkileri daha iyi yakalamak, aşırı öğrenmeyi önlemek ve yüksek performanslı tahminler yapmaktır.

Random Forest’ın çalışma prensibi;

1. Rastgele Örnekleme (Bootstrapping); Eğitim veri seti üzerinde rastgele örnekleme yapmaktır. Bu, aynı veri noktasının birden fazla karar ağacına rastgele atanmasını sağlar. Bu işlem aynı zamanda “bagging” (bootstrap aggregating) olarak da bilinir.

2. Karar Ağaçlarının Oluşturulması; Her örneklem için bir karar ağacı oluşturulur. Karar ağaçları, veri seti üzerinde özellikleri ve hedef değişkeni kullanarak kararlar alır. Karar ağaçları, her düğümde en iyi bölme kriterine göre ağacı oluşturur. Ancak, bu ağaçlar düğümlerden ve bölme kriterlerinden bir miktar rastgelelik içerir.

3. Rastgelelik (Randomization): Random Forest, rastgelelik eklemek için iki ana yöntemi kullanır:

· Rastgele özellik seçimi: Her düğümde karar alırken, sadece belirli bir rastgele alt küme (örneğin, kök faktörlerin alt kümesi) kullanılır. Bu, ağaçların birbirinden farklı olmasını sağlar.

· Rastgele örnekleme: Her ağaç için oluşturulan örneklemler, rastgele örnekleme işlemi ile farklıdır. Bu da ağaçların birbirinden bağımsız olmasını sağlar.

Random Forest’ın hiperparametreleri;

  1. Ağaç Sayısı (n_estimators): Oluşturulacak ağaç sayısını belirler. Daha fazla ağaç, daha iyi genelleme yapabilir, ancak hesaplama maliyeti artar.
  2. En Az Örnek Sayısı (min_samples_split): Bir düğümün bölünmesi için gereken minimum örnek sayısını belirler. Bu, aşırı uydurmayı önlemeye yardımcı olur.
  3. Maksimum Derinlik (max_depth): Her ağacın maksimum derinliğini sınırlar. Aşırı uydurmayı kontrol etmek için kullanılır.
  4. Maksimum Özellik Sayısı (max_features): Her düğümde rastgele seçilecek maksimum özellik sayısını belirler. Bu, rastgelelik ekler.
  5. Minimum Yaprak Sayısı (min_samples_leaf): Bir yaprak düğümünün en az örnek sayısını belirler.

Gradient Boosting Machines (GBM);

· AdaBoost’un sınıflandırma ve regresyon problemlerine kolayca uyarlanabilen genelleştirilmiş versiyonudur.

· Artıklar üzerine tek bir tahminsel model formunda olan modeller serisi kurulur.

· Zayıf öğrenicileri bir araya getirip güçlü bir öğrenici ortaya çıkartmak fikrine dayanır.

(Kötü tahmin: gerçek değerler ile tahmin edilen değerlerin farkının karelerinin alınması sonucunda ortaya çıkan büyük değerlerdir. Kötü tahminde bulunan ağaçlar da zayıf tahmincilerdir.)

· Artıklar üzerine tek bir tahminsel model formunda olan modeller serisi oluşturur.

· Seri içerisindeki bir model serideki bir önceki modelin tahmin artıklarının/hatalarının üzerine kurularak(fit) oluşturulur.

· GBM aslında = Boosting + Gradient Descent olarak görülmektedir.

GBM hiperparametreleri;

  1. n_estimators: İterasyon sayısıdır, yani kaç zayıf tahmincinin (genellikle ağaç) kullanılacağını belirler.
  2. learning_rate: Her tahmincinin katkısını azaltan bir ölçektir. Daha küçük bir öğrenme hızı, modelin daha istikrarlı hale gelmesini sağlar, ancak daha fazla tahminci gerekebilir.
  3. max_depth: Karar ağaçlarının maksimum derinliğini sınırlar.
  4. min_samples_split: Bir düğümün bölünmesi için gereken minimum örnek sayısını belirler.
  5. min_samples_leaf: Bir yaprak düğümünün minimum örnek sayısını belirler.
  6. max_features: Her ağaç için rastgele seçilecek maksimum özellik sayısını belirler.
  7. subsample: Her iterasyonda kullanılacak alt örneklem oranını belirler.

XGBoost ;

· XGBoost, GBM’in hız ve tahmin performansını arttırmak üzere optimize edilmiş; ölçeklenebilir ve farklı platformlara entegre edilebilir halidir.

· R, Python, Hadoop, Scala, Julia ile kullanılabilinir.

· Ölçeklenebilir.

· Hızlıdır.

· Tahmin başarısı yüksektir.

XGBoost hiperparametreleri;

  1. learning_rate (eta): Her ağacın katkısını küçülten bir ölçektir. Daha küçük bir öğrenme hızı, daha istikrarlı bir model sağlar, ancak daha fazla tahminci gerekebilir.
  2. n_estimators: Oluşturulacak ağaç sayısıdır, yani kaç iterasyon yapılacağını belirler.
  3. max_depth: Karar ağaçlarının maksimum derinliğini sınırlar.
  4. min_child_weight: Bir düğümün bölünmesi için gereken minimum ağırlığı belirler.
  5. subsample: Her iterasyonda kullanılacak alt örneklem oranını belirler. Overfitting’i önlemek için kullanılır.
  6. colsample_bytree ve colsample_bylevel: Ağaç ve seviye seçimi sırasında rastgele özellik seçimini kontrol eder.
  7. lambda (L2 düzenlileştirme): L2 düzenlileştirmeyi kontrol eder.
  8. alpha (L1 düzenlileştirme): L1 düzenlileştirmeyi kontrol eder.
  9. gamma (min_split_loss): Bir yapının bölünmesi için gereken minimum kaybı belirler.
  10. scale_pos_weight: Dengesiz sınıflarla başa çıkmak için kullanılır.

Light GBM;

XGBoost’un eğitim süresi performansını arttırmaya yönelik geliştirilen bir diğer GBM türüdür.

· Daha performanslı, Neden? Veri setindeki gözlem ve değişken sayısı çok olduğunda XG Boost C++ da yazılmış olsa dahi eğitim süreleri çok uzun sürmektedir. Değişkenleri ayırmak ve farklı noktalarını araştırmak, keşfetmek için karar ağaçlarını kullanıyor ki bu işleme level wise büyüme stratejisi deniyor.

· Level-wise büyüme stratejisi yerine Leaf-wise büyüme stratejisi kullanılıyor.

· Breadth-first search (BFS) yerine depth-first search(DFS) kullanıldığında light GBM performansı XGBoosta göre daha fazla olmaktadır.

Light GBM Hiperparametreler;

  1. learning_rate (eta): Her ağacın katkısını azaltan bir ölçektir. Daha küçük bir öğrenme hızı, daha istikrarlı bir model sağlar, ancak daha fazla tahminci gerekebilir.
  2. n_estimators: Oluşturulacak ağaç sayısıdır, yani kaç iterasyon yapılacağını belirler.
  3. max_depth: Karar ağaçlarının maksimum derinliğini sınırlar.
  4. num_leaves: Her ağacın yaprak (leaf) sayısını belirler. Yüksek değerler daha karmaşık modellere yol açar.
  5. min_data_in_leaf: Bir yaprak düğümünün minimum veri noktası sayısını belirler.
  6. min_child_samples: Bir düğümün bölünmesi için gereken minimum örnek sayısını belirler.
  7. subsample: Her iterasyonda kullanılacak alt örneklem oranını belirler. Overfitting’i önlemek için kullanılır.
  8. colsample_bytree ve colsample_bylevel: Ağaç ve seviye seçimi sırasında rastgele özellik seçimini kontrol eder.
  9. lambda (L2 düzenlileştirme): L2 düzenlileştirmeyi kontrol eder.
  10. alpha (L1 düzenlileştirme): L1 düzenlileştirmeyi kontrol eder.

Category Boosting (CatBoost);

· Kategorik değişkenler ile otomatik olarak mücadele edebilen, hızlı, başarılı bir diğer GBM türevi.

· Kategorik değişken desteği

· Hızlı ve ölçeklenebilir GPU desteği

· Daha başarılı tahminler

· Hızlı train ve hızlı tahmin

· Rusyanın ilk açık kaynak kodlu, başarılı ML çalışmasıdır.

CatBoost’un hiperparametreleri;

  1. learning_rate (eta): Her ağacın katkısını küçülten bir ölçektir. Daha küçük bir öğrenme hızı, daha istikrarlı bir model sağlar, ancak daha fazla tahminci gerekebilir.
  2. iterations (n_estimators): Oluşturulacak ağaç sayısıdır, yani kaç iterasyon yapılacağını belirler.
  3. depth: Karar ağaçlarının maksimum derinliğini sınırlar.
  4. l2_leaf_reg (rsm): L2 düzenlileştirmeyi kontrol eder.
  5. subsample: Her iterasyonda kullanılacak alt örneklem oranını belirler. Overfitting’i önlemek için kullanılır.
  6. colsample_bylevel: Seviye seçimi sırasında rastgele özellik seçimini kontrol eder.
  7. min_child_samples: Bir düğümün bölünmesi için gereken minimum örnek sayısını belirler.
  8. border_count: Kategorik değişkenlerin işlenmesi için kullanılır. Farklı bir hiperparametre olan “auto” seçeneği, otomatik olarak en uygun değeri belirler.
  9. verbose: Eğitim sürecinin sırasında ne kadar bilgi verileceğini belirler.

Zaman Serisi Analizi;

Zaman içerisindeki verilerin incelenmesi, tahmin edilmesi ve modellenmesi için kullanılan istatistiksel bir yaklaşımdır. Temel amacı, geçmiş verilerin desenlerini ve yapısını anlayarak gelecekteki değerleri tahmin etmeye çalışmaktır.

Zaman serisi analizi adımları;

1) Veri toplama; İlgilenilen zaman serisi verisi toplanır. Bu veriler zamanla değişen bir özelliği temsil eder, örneğin aylık gelir, günlük hava sıcaklığı, hisse senedi fiyatları vb.

2) Veri Görselleştirme; Veriyi görselleştirerek, zaman serisinin genel davranışını ve desenlerini incelemek için grafiklerden yararlanılır. Bu, verinin trendleri, mevsimsel değişiklikleri ve ani dalgalanmaları belirlemeye yardımcı olur.

3) İstasyonerlik Kontrolü; Zaman serisinin istasyoner (stationary) olup olmadığını kontrol edilmelidir. İstasyoner bir zaman serisi, istatistiksel özellikleri zamanla değişmeyen bir seridir. İstasyonerlik, analiz ve tahmin işlemi için gereklidir.

4) Model Seçimi; İstasyonerlik onaylandıktan sonra, uygun bir zaman serisi modeli seçilir. Bu modeller arasında ARIMA (AutoRegressive Integrated Moving Average), GARCH (Generalized Autoregressive Conditional Heteroskedasticity) vb. bulunur.

5) Model Uyarlama ve Tahmin; Seçilen model veriye eğitilir ve gelecekteki değerleri tahmin etmek için kullanılır.

6) Modelin Değerlendirilmesi; Modelin performansını, tahmin hataları ve metrikler (örneğin; ortalama kare hata, ortalama mutlak hata) kullanılarak değerlendirilir.

ARIMA ve SARIMA Nedir?

ARIMA (AutoRegressive Integrated Moving Average): ARIMA, zaman serileri için oldukça yaygın olarak kullanılan bir modeldir. “AR” (AutoRegressive) terimi, geçmiş değerlerin mevcut değeri nasıl etkilediğini ifade eder. “I” (Integrated) terimi, serinin istasyoner olup olmadığını ifade eder ve gerektiğinde serinin fark alındığı durumu tanımlar. “MA” (Moving Average) terimi ise rastgele gürültüyü ve hata terimlerini nasıl modellendiğini ifade eder. ARIMA modeli, bu üç bileşeni bir araya getirir.

SARIMA (Seasonal AutoRegressive Integrated Moving Average): SARIMA, ARIMA’nın mevsimsel varyasyonlarına uyarlanmış bir modeldir. Bu model, mevsimsel etkileri olan zaman serileri için daha uygundur. SARIMA modeli, ARIMA modeline benzer şekilde “AR” (AutoRegressive), “I” (Integrated) ve “MA” (Moving Average) bileşenlerini içerir, ancak mevsimsel bileşenleri de içerir. Mevsimsel bileşenler, mevsimlere bağlı tekrarlayan desenleri modellemek için kullanılır.

Sınıflandırma Modelleri Nelerdir?

Verileri farklı sınıflara veya kategorilere atayan, yani veri noktalarını bir etiketle sınıflandıran algoritmaları ifade eder. Sınıflandırma, özellikle önceden belirlenmiş sınıflara ait örnekleri öğrenerek ve ardından yeni veri noktalarını bu sınıflara atayarak yapılır. Kadın/Erkek, Hasta/Hasta Değil, Krediyi Öder/ Ödemez gibi bağımlı değişkenlerin numerik yani sayısal verilerden oluşmadığı, kategorik değişkenlerden oluştuğu problemlerdir.

Bazı Sınıflandırma Algoritmaları

· Lojistik Regresyon

· K — En Yakın Komşu

· Destek Vektör Makineleri

· Yapay Sinir Ağları

· CART (Classification and Regression Trees)

· Random Forests (Rastgele Ormanlar)

· Gradient Boosting Machines

· XGBoost

· Light GBM

· CatBoost

Lojistik Regresyon;

· Amaç: Sınıflandırma problemi için bağımlı ve bağımsız değişkenler arasındaki ilişkiyi tanımlayan doğrusal bir model kurmaktır. Çoklu doğrusal regresyonun sınıflandırma problemlerine uyarlanmış fakat ufak farklılıklara tabi tutulmuş bir versiyon olarak düşünülebilinir.

· Bağımlı değişken kategoriktir.

K — En Yakın Komşu;

· Yeni bir örneği verilen verilere dayalı olarak en yakın komşularının etiketlerine dayalı olarak sınıflandıran basit bir modeldir.

Destek Vektör Makineleri (SVM);

· Amaç iki sınıf arasındaki ayrımın optimum olmasını sağlayacak hiper- düzlemi bulmaktır.

Yapay Sinir Ağları;

· İnsan beyninin bilgi işleme şeklini referans alan sınıflandırma ve regresyon problemleri için kullanılabilen kuvvetli makine öğrenmesi algoritmalarından birisidir.

· Amaç en küçük hata ile tahmin yapabilecek katsayılara(Ağırlıklara) erişmektir.

! Veri Seti Standartlaştırma!

KULLANILACAK BÜTÜN MAKİNE ÖĞRENMESİ ALGORİTMALARI EĞER DEĞİŞKENLER STANDARTLAŞTIRILIRSA DAHA PERFORMANSLI ÇALIŞMAYA EĞİMLİDİR.ÇÜNKÜ; VERİ SETİ İÇERİSİNDE YER ALAN AYKIRILIKLAR VE BENZERİ DURUMLAR BU STANDARTLAŞTIRMA İŞLEMLERİ İLE BİR MİKTAR ORTADAN KALKABILMEKTEDİR.

CART (Sınıflandırma ve Regresyon Ağaçları);

· Amaç veri seti içerisindeki karmaşık yapıları basit karar yapılarına dönüştürmektir.

· Heterojen veri setleri belirlenmiş bir hedef değişkene göre homojen alt gruplara ayrılır.

· Belirlenen hedef değişkene göre elimizdeki değişkenlerin üzerinden bölünme işlemleri ile n yaprakta bir değişkenin mümkün olduğu kadar daha homojen olması sağlanmaya çalışılıyor, ki bahsedilen değişken bağımlı değişkendir.

Random Forests;

· Temeli, birden çok karar ağacının ürettiği tahminlerin bir araya getirilerek değerlendirilmesine dayanır.

· Topluluk öğrenme yöntemlerinden birisidir.

BAGGING;

Bagging yöntemi; random forest yönteminin bir özel halidir. Eğer değişken seçiminde rassallık getirmezsek ve elimizdeki değişkenlerin içerisinden seçilecek değişken sayısını elimizdeki değişken sayısına eşitlersek bagging yöntemi kullanmış oluyoruz.

· Temelde bootstrap yöntemi ile oluşturulan birden fazla karar ağacının ürettiği tahminlerin bir araya getirilerek değerlendirilmesine dayanır.

Gradient Boosting Machines (GBM);

· AdaBoost’un sınıflandırma ve regresyon problemlerine kolayca uyarlanabilen genelleştirilmiş versiyonudur.

· Artıklar üzerine tek bir tahminsel model formunda olan modeller serisi kurulur.

· Oluşturulan ağaçların ürettiği sonuçlar üzerinden yeni ağaçlar oluşturuluyor.

· Seri içerisindeki bir model serideki bir önceki modelin tahmin artıklarının/hatalarının (residuals) üzerine kurularak (fit) oluşturulur.

XGBoost;

· GBM’ in hız ve tahmin performansını arttırmak üzere optimize edilmiş; ölçeklenebilir ve farklı platformlara entegre edilebilir halidir.

· XGBoost, GBM’in bazı mekanık problemlerini gidermek üzere ortaya çıkmıştır. Hesaplama anlamında daha performanslı hesaplama gerçekleştirilmiştir.

· Ölçeklenebilirdir.

· Hızlıdır.

· Tahmin başarısı yüksektir.

· Birçok kaggle yarışmasında başarısını kanıtlamıştır.

Light GBM;

· Light GBM, XGBoost’un eğitim süresi performansını arttırmaya yönelik geliştirilen bir diğer GBM türüdür.

Cat Boost (Category Boosting);

· Kategorik değişkenler ile otomatik olarak mücadele edebilen , hızlı, başarılı bir GBM türevidir.

· Daha başarılı tahminler.

· Rusyanın ilk açık kaynak kodlu, başarılı ML çalışmasıdır.

Bu yazımda ML problemlerinden regresyon ve sınıflandırma problemleri algoritma açıklamaları ve algoritmalar oluşturulurken modellerin performansını arttırmaya olanak sağlayan bazı hiperparametrelerden bahsettim. Umarım faydalı olmuştur.

Kaynaklar;

--

--