0Pricing
Learn AI with Python · Ders

Gradyan Artırma: GBM ve XGBoost

Boosting ve bagging karşılaştırması, GradientBoostingClassifier, XGBClassifier ve erken durdurma.

Gradyan Artırma: GBM ve XGBoost, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Artırma ve Torbalama

Torbalama ağaçları paralel olarak eğitir ve sonuçlarının ortalamasını alır. Artırma ağaçları sıralı olarak eğitir; her yeni ağaç, önceki ağaçların hatalarını düzeltir.

Artırma, yanlılığı azaltır ve tablo biçimli verilerde genellikle torbalamadan daha yüksek doğruluk sağlar.

Sıralı Zayıf Öğreniciler

Gradyan artırma, sığ ağaçlardan oluşan bir topluluk modeli oluşturur (zayıf öğreniciler). Her ağaç, mevcut topluluk modelinin geride bıraktığı artıklara (kayıp gradyanlarına) uyar.

Çok sayıda küçük düzeltmenin eklenmesi, genel olarak güçlü bir model oluşturur.

GradientBoostingClassifier

Scikit-learn, GradientBoostingClassifier sağlar. Temel parametreler n_estimators (ağaç sayısı), learning_rate (küçültme) ve max_depth (ağaç boyutu) değerleridir.

from sklearn.ensemble import GradientBoostingClassifier

gbm = GradientBoostingClassifier(
    n_estimators=200,
    learning_rate=0.1,
    max_depth=3,
    random_state=0,
)
gbm.fit(Xtr, ytr)
print(gbm.score(Xte, yte))

Öğrenme Oranı Dengesi

learning_rate, her ağacın katkısını ölçeklendirir. Daha düşük bir öğrenme oranı daha fazla ağaç gerektirir; ancak genellikle daha iyi genelleme sağlar.

Yaygın bir strateji, düşük bir öğrenme oranı (ör. 0.05) ve çok sayıda tahminleyici belirlemek, ardından erken durdurma kullanmaktır.

from sklearn.ensemble import GradientBoostingClassifier

gbm = GradientBoostingClassifier(
    n_estimators=1000,
    learning_rate=0.05,
    max_depth=3,
)

max_depth Neden Küçük Kalır

Artırmada her ağaç bir zayıf öğrenicidir; bu nedenle max_depth genellikle 3 ile 6 arasındadır. Derin ağaçlar artıklara hızla aşırı uyum sağlar. Topluluk modeli gücünü birkaç derin ağaçtan değil, çok sayıda sığ ağaçtan kazanır.

XGBoost'a Giriş

XGBoost, iyileştirilmiş bir gradyan artırma kitaplığıdır: daha hızlıdır, düzenlileştirme içerir ve eksik değerleri yerleşik olarak işler. Tablo biçimli makine öğrenmesi yarışmalarında en başarılı yöntemlerden biridir.

from xgboost import XGBClassifier

model = XGBClassifier(
    n_estimators=300,
    learning_rate=0.1,
    max_depth=4,
    random_state=0,
)
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Temel XGBoost Parametreleri

Temel ayarlar GBM'dekilere benzer:

  • n_estimators artırma turu sayısı
  • learning_rate tur başına küçültme
  • max_depth ağaç derinliği
  • subsample ve colsample_bytree düzenlileştirme için rastgelelik ekler
from xgboost import XGBClassifier

model = XGBClassifier(
    n_estimators=500,
    learning_rate=0.05,
    max_depth=4,
    subsample=0.8,
    colsample_bytree=0.8,
)

XGBoost'ta Düzenlileştirme

XGBoost, L1 (reg_alpha) ve L2 (reg_lambda) cezalarının yanı sıra gamma değerini de ekler (bölme için gereken minimum kayıp azalması). Bunlar, yalın GBM'nin sunduğundan daha güçlü biçimde karmaşıklığı denetler ve aşırı uyumu azaltır.

from xgboost import XGBClassifier

model = XGBClassifier(
    reg_alpha=0.1,
    reg_lambda=1.0,
    gamma=0.1,
)

Erken Durdurma

early_stopping_rounds, doğrulama metriği N tur boyunca iyileşmediğinde eğitimi durdurur. Böylece uygun ağaç sayısı otomatik olarak bulunur ve aşırı uyum önlenir.

from xgboost import XGBClassifier

model = XGBClassifier(
    n_estimators=2000,
    learning_rate=0.05,
    early_stopping_rounds=50,
    eval_metric="logloss",
)
model.fit(Xtr, ytr, eval_set=[(Xte, yte)], verbose=False)
print("Best iteration:", model.best_iteration)

Özellik Önemini Okuma

XGBoost, feature_importances_ değerini ve kazanç ile ağırlık gibi önem türleri içeren daha kapsamlı get_booster().get_score() işlevini sunar. Kazanç, bir özelliğin kaybı ne kadar azalttığını gösterir.

model = XGBClassifier(n_estimators=200).fit(Xtr, ytr)
print(model.feature_importances_)

booster = model.get_booster()
print(booster.get_score(importance_type="gain"))

Artırma Ne Zaman Tercih Edilmeli

Gradyan artırma, iyi ayarlandığında tablo biçimli verilerde genellikle rastgele ormanlardan daha iyi sonuç verir. Bunun karşılığında hiperparametrelere daha duyarlıdır ve sıralı eğitim daha yavaştır. XGBoost'un varsayılanlarıyla başlayın, ardından learning_rate ve max_depth değerlerini ayarlayın ve erken durdurma kullanın.

Kısa Kontrol

Artırma bilginizi kontrol edin.

Özet

Özet: Artırma, ağaçları sıralı olarak eğitir ve her ağaç önceki hataları düzeltir. n_estimators, learning_rate (düşük oran + çok sayıda ağaç) ve küçük bir max_depth değeri ayarlanmalıdır. XGBoost, düzenlileştirme (reg_alpha, reg_lambda, gamma) ve en uygun ağaç sayısını otomatik olarak seçen early_stopping_rounds özelliğini ekler.

Sıkça Sorulan Sorular

“Gradyan Artırma: GBM ve XGBoost” dersi ücretsiz mi?

Evet — “Gradyan Artırma: GBM ve XGBoost” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Gradyan Artırma: GBM ve XGBoost” dersinde ne öğreneceğim?

Boosting ve bagging karşılaştırması, GradientBoostingClassifier, XGBClassifier ve erken durdurma. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Gradyan Artırma: GBM ve XGBoost” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Karar Ağaçları: Kuram ve Uygulama
  2. Rastgele Ormanlar ve Bagging
  3. Gradyan Artırma: GBM ve XGBoost
  4. LightGBM ve CatBoost
← Learn AI with Python Sayfasına Dön