Ana içeriğe atla

Python - GBM (Regresyon)

Gradyan boosting, regresyon ve sınıflandırma problemleri için bir makine öğrenmesi tekniğidir. Bu, zayıf tahmin modellerinin bir araya gelmesiyle tipik olarak karar ağaçlarının oluşturduğu bir model oluşturur. Denetlenen herhangi bir öğrenme algoritmasının amacı, bir kayıp fonksiyonu tanımlamak ve en aza indirmektir.


Temel olarak Boosting, zayıf öğrenicileri(weak learner) güçlü öğreniciye(strong learner) dönüştürme yöntemidir. Bunu iterasyonlar ile aşamalı olarak yapar. Boosting algoritmaları arasındaki fark genellikle zayıf öğrenicilerin eksikliğini nasıl tanımladıklarıdır.

Boosting yöntemleri artıkların optimizasyonu olarak görülmelidir. Artıklar üzerine tek bir tahminsel model formunda olan modeller serisi kurulur. Yani seri içindeki bir model serideki bir önceki modelin tahmin artıklarının/hatalarının (residuals) üzerine kurularak (fit) oluşturulur. Sonuç olarak, gradyan artırma algoritmasının ardındaki sezgi, artıklardaki örüntüleri tekrar tekrar kullanmak ve zayıf tahminlerle bir modeli güçlendirmek ve daha iyi hale getirmektir.



Hitters veri seti üzerinden analizimi yapmaya başlıyorum. Verimi hazırladıktan sonra GradientBoostingRegressor modülü ile modelimi kuruyorum. Bu modelde en önemli argümanlarım learning rate, max_leaf_nodes ve n_estimators.



Modeli kurduktan sonra test setimi tahmin et dedikten sonra test hatamı hesaplıyorum.

Şimdi tuning kısmına geçebilirim. Model için parametre girişlerini yaptıktan sonra 10 katlı cross validation yapıyorum.


Daha sonra en optimum parametreleri belirliyorum ve bu parametreler üzerinden modeli tune ettikten sonra modeli tekrar çalıştırıyorum ve test hatamı hesaplıyorum.


Son olarak, modeldeki değişkenleri önem düzeyine göre sıralayıp verimi görselleştiriyorum.


Yorumlar