LightGBM ve CatBoost
LightGBM'nin neden daha hızlı olduğu, histogram tabanlı bölme ve kategorik özellikler için CatBoost.
LightGBM ve CatBoost, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. 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.
XGBoost'un Ötesinde
XGBoost güçlüdür; ancak çok büyük veri kümelerinde yavaş kalabilir. LightGBM ve CatBoost, hızı artıran ve kategorik verileri daha başarılı biçimde işleyen yeni gradyan artırma kitaplıklarıdır.
Histogram Tabanlı Bölmeler
LightGBM, bölmeleri bulmadan önce sürekli özellikleri ayrık kutulara (histograma) ayırır. Bu yöntem, bölme bulmayı kesin yönteme göre çok daha hızlı hâle getirir ve daha az bellek kullanır.
Yaprak Bazlı Ağaç Büyütme
Seviye bazlı büyümenin aksine LightGBM, ağaçları yaprak bazlı büyütür: önce kaybı en fazla azaltan yaprağı böler. Bu yöntem daha hızlı yakınsar; ancak aşırı uyuma yol açabilir. Bu nedenle yöntemi num_leaves ile denetlersiniz.
LGBMClassifier ve num_leaves
num_leaves, LightGBM için en önemli karmaşıklık ayarıdır. Daha büyük değerler doğruluğu artırır; ancak aşırı uyum riskini yükseltir. Genel bir kural olarak num_leaves < 2^max_depth koşulunu koruyun.
from lightgbm import LGBMClassifier
model = LGBMClassifier(
n_estimators=300,
num_leaves=31,
learning_rate=0.05,
random_state=0,
)
model.fit(Xtr, ytr)
print(model.score(Xte, yte))LightGBM'nin Hız Avantajları
Histogram kutulama, yaprak bazlı büyütme ve özellik/veri alt örneklemesi sayesinde LightGBM, büyük veri kümelerinde XGBoost'tan belirgin biçimde daha hızlı eğitilir ve çoğu zaman benzer doğruluk sağlar.
from lightgbm import LGBMClassifier
model = LGBMClassifier(
n_estimators=1000,
num_leaves=63,
learning_rate=0.03,
feature_fraction=0.8,
bagging_fraction=0.8,
)LightGBM'de Erken Durdurma
LightGBM, geri çağırmalar aracılığıyla erken durdurmayı destekler. Bir değerlendirme kümesi ve early_stopping geri çağırması geçirerek metrik yatay seyrettiğinde eğitimi durdurun.
import lightgbm as lgb
from lightgbm import LGBMClassifier
model = LGBMClassifier(n_estimators=2000, learning_rate=0.03)
model.fit(
Xtr, ytr,
eval_set=[(Xte, yte)],
callbacks=[lgb.early_stopping(50)],
)CatBoost ve Kategorik Özellikler
CatBoost, kategorik verilerle çok başarılıdır. Ham kategorik sütunları cat_features aracılığıyla doğrudan geçirirsiniz; manuel kodlama gerekmez.
Hedef sızıntısını önlemek için dahili olarak sıralı hedef istatistiklerini kullanır.
from catboost import CatBoostClassifier
model = CatBoostClassifier(
iterations=500,
learning_rate=0.05,
depth=6,
verbose=False,
)
model.fit(Xtr, ytr, cat_features=[0, 3, 5])Kodlama Olmamasının Gücü
Diğer kitaplıklarda kategorileri tek-sıcak veya etiket kodlamasıyla kodlamanız gerekir; bu işlem boyutluluğu aşırı artırabilir veya hedef sızıntısına yol açabilir. CatBoost bunu dahili olarak sıralı artırmayla işler ve kategorik özelliklerde aşırı uyumu azaltır.
CatBoost'un Temel Parametreleri
CatBoost, iterations (n_estimators gibi), learning_rate ve depth değerlerini kullanır; simetrik ağaçlar oluşturur. Çok az ayarlamayla çoğu zaman iyi çalışır.
from catboost import CatBoostClassifier
model = CatBoostClassifier(
iterations=1000,
learning_rate=0.03,
depth=8,
l2_leaf_reg=3.0,
verbose=100,
)Hız Karşılaştırması
Genel öneriler:
- LightGBM genellikle büyük sayısal veri kümelerinde en hızlıdır
- CatBoost çok sayıda kategorik özellik olduğunda en iyisidir ve daha az ayar gerektirir
- XGBoost olgun, sağlam ve varsayılanları başarılıdır
Üçünü de verileriniz üzerinde kıyaslayın; sonuçlar probleme göre değişir.
Kitaplık Seçimi
Yoğun kategorik verileriniz varsa CatBoost ile başlayın. Çok büyük sayısal tablolar ve hız için LightGBM'yi seçin. Sınanmış bir temel model için XGBoost'u kullanın. Üçünün temelinde de gradyan artırma bulunur; bu nedenle kavramlar birbirine aktarılabilir.
Kısa Kontrol
Gradyan artırma kitaplıkları bilginizi sınayın.
Özet
Özet: LightGBM, büyük sayısal verilerde hız sağlamak için num_leaves ile denetlenen histogram tabanlı, yaprak bazlı büyütmeyi kullanır. CatBoost, kategorik özellikleri cat_features aracılığıyla yerel olarak işler ve kodlama gerektirmez. Her ikisi de XGBoost ile birlikte gradyan artırmanın çeşitleridir. Seçim yapmak için kıyaslama yapın; kategorik veriler için CatBoost'u, hız için LightGBM'yi tercih edin.
Sıkça Sorulan Sorular
“LightGBM ve CatBoost” dersi ücretsiz mi?
Evet — “LightGBM ve CatBoost” 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.
“LightGBM ve CatBoost” dersinde ne öğreneceğim?
LightGBM'nin neden daha hızlı olduğu, histogram tabanlı bölme ve kategorik özellikler için CatBoost. 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 4. dersidir.
“LightGBM ve CatBoost” 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
- Karar Ağaçları: Kuram ve Uygulama
- Rastgele Ormanlar ve Bagging
- Gradyan Artırma: GBM ve XGBoost
- LightGBM ve CatBoost