LightGBM
LightGBM, büyük tablo veri kümelerinde hızlı eğitim için özellik histogramlarından karar ağaçlarını yaprak bazında büyüten bir gradyan artırma çatısıdır.
LightGBM (Hafif Gradyan Artırma Makinesi), büyük veri kümelerinde hız ve düşük bellek kullanımı için tasarlanmış, tablo biçimindeki veriler üzerinde gradyan artırma yöntemiyle topluluklar hâlinde karar ağaçları eğiten açık kaynaklı bir çerçevedir. Microsoft, LightGBM'yi 2016'da yayımladı ve algoritmalarını NeurIPS 2017 tarihli LightGBM: Son Derece Verimli Bir Gradyan Artırmalı Karar Ağacı makalesinde açıkladı. Mart 2026'da resmî depo, aynı bakım ekibinin yönetimindeki lightgbm-org GitHub kuruluşuna taşındı. LightGBM, Python, R, C++ ve komut satırı üzerinden sınıflandırma, regresyon ve sıralama görevlerini yerine getirir ve birçok makine öğrenimi yarışmasının kazanan çözümlerinde yer alır. Yaklaşık 10.000 satırlı orta büyüklükteki tablolarda, LightGBM gibi ağaç toplulukları derin öğrenmeden hâlâ çoğu zaman daha iyi performans gösterir.
LightGBM Nasıl Çalışır#
Gradyan artırma, ağaçları teker teker oluşturur. Her yeni ağaç, mevcut topluluğun tahminlerine göre kayıp fonksiyonunun gradyanlarına uyarlanır; kare hatada bu gradyanlar doğrudan artık değerlerdir, dolayısıyla yeni ağaç önceki ağaçların bıraktığı hataları düzeltir. Modelin tahmini, her biri bir öğrenme oranıyla ölçeklendirilmiş tüm ağaç çıktılarının toplamıdır. Maliyetli adım, her düğüm için en iyi bölmeyi bulmaktır; LightGBM bunu dört teknikle hızlandırır:
- Histogram tabanlı bölmeler: Eğitimden önce LightGBM, her sürekli özelliği en fazla 255 kovaya (
max_bin) ayırır. Bölme araması, sıralanmış her bir değeri incelemek yerine kova sınırlarını tarar. Bölme sonrasında yalnızca küçük çocuğun histogramı verilerden oluşturulur; büyük çocuğun histogramı, ebeveynin histogramından küçük çocuğun histogramı çıkarılarak elde edilebilir. - Yaprak odaklı büyüme: LightGBM, ağaç
num_leavesyaprağa ulaşana kadar (varsayılan olarak 31) her zaman kaybı en çok azaltan en iyi bölmeye sahip yaprağı böler; her seviyedeki tüm düğümleri derinleşmeden önce bölmez. Aynı yaprak sayısında bu yöntem, seviye odaklı büyümeye kıyasla daha düşük kayba ulaşır ve küçük veri kümelerinde aşırı öğrenebilen derin, dengesiz ağaçlar üretir. - Gradyan Tabanlı Tek Taraflı Örnekleme (GOSS): Gradyanları büyük satırlar, modelin tahmin etmekte hâlâ zorlandığı satırlardır.
data_sample_strategy="goss"ile LightGBM, gradyanları en büyük satırların %20'sini tutar, geri kalanlardan rastgele %10 daha fazla örnek seçer ve veri dağılımının özgün dağılıma yakın kalması için bu örnekleri daha yüksek ağırlıklandırır. - Özeliklere Özel Birleştirme (EFB): Tek-sıcak kodlanmış sütunlar gibi aynı anda nadiren sıfırdan farklı değer alan seyrek özellikler tek bir özellikte birleştirilir; böylece oluşturulması gereken histogram sayısı azalır.
Her ağaç, yaprak bütçesi tükenene ya da hiçbir bölme fayda sağlamayana kadar bölme aramasını yineleyerek büyür; artırma işlemi bunu her turda tekrarlar:
LightGBM, categorical_feature içinde listelenen tamsayı kodlu kategorik özellikleri de doğrudan böler; tek-sıcak kodlama yapmadan her bölmede kategorileri gruplandırır ve varsayılan olarak eksik değerleri işler. Eğitim CPU'larda, GPU'larda (device_type="gpu" veya "cuda") ve dağıtık öğrenicileri kullanarak birden çok makinede çalıştırılabilir.
LightGBM'yi Eğitme ve Ayarlama#
scikit-learn tarzındaki LGBMClassifier, LGBMRegressor ve LGBMRanker sınıfları çoğu kullanım ihtiyacını karşılar. Yaprak odaklı ağaçlar çok derinleşebildiğinden, aşırı öğrenmeye karşı temel denetimler num_leaves, min_child_samples (yaprak başına varsayılan olarak 20 satır) ve max_depth değerleridir. Bunlarla birlikte öğrenme oranı ve ağaç sayısı, genellikle hiperparametre ayarlaması veya bir doğrulama kümesinde erken durdurma yoluyla belirlenir. Histogramların ve yaprak odaklı büyümenin sağladığı fayda, 20.000 satır ve 40 özellikten oluşan sentetik bir tabloda scikit-learn'ün klasik, tam bölmeli gradyan artırmasıyla karşılaştırıldığında görülür:
import time
import lightgbm as lgb
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split
X, y = make_classification(n_samples=20_000, n_features=40, n_informative=15, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 200 trees each: exact split search vs. LightGBM's histograms and leaf-wise growth
for model in (GradientBoostingClassifier(n_estimators=200), lgb.LGBMClassifier(n_estimators=200, verbose=-1)):
start = time.perf_counter()
model.fit(X_train, y_train)
seconds = time.perf_counter() - start
print(f"{type(model).__name__}: {seconds:.1f} s, accuracy {model.score(X_test, y_test):.3f}")Apple M5 Pro CPU'da LightGBM, 31 yaprağa kadar büyüyen 200 ağacını bir saniyeden kısa sürede oluştururken, scikit-learn 3 derinliğinde 200 tam bölmeli ağaç için yaklaşık 20 saniyeye ihtiyaç duyar; LightGBM'nin daha büyük ağaçları testte 0.901'e karşı 0.956 doğruluk değerine ulaşır. Eğitilmiş modeller metin ya da JSON biçiminde kaydedilir; onnxmltools bunları Python dışında sunulabilmeleri için ONNX biçimine dönüştürür.
LightGBM ve İlişkili Yöntemler#
- XGBoost: 2014'te düzenlileştirilmiş, ikinci dereceden artırmayı popülerleştiren gradyan artırma kütüphanesi. Varsayılan olarak derinliği sınırlı ağaçlar oluşturur (
max_depth=6),grow_policy="lossguide"ile yaprak odaklı büyüme sunar ve 2.0 sürümünden itibaren varsayılan olarak histogram tabanlı bölme bulmayı kullanır; bu nedenle iki kütüphane artık tekniklerin çoğunu paylaşır. - CatBoost: Yandex'in 2017'de yayımlanan artırma kütüphanesi; simetrik ağaçlar oluşturur ve hedef sızıntısını sınırlamak için kategorik özellikleri sıralı hedef istatistikleriyle kodlar.
- Rastgele orman: Önyükleme örneklemlerinde derin ağaçları birbirinden bağımsız eğitir ve tahminlerinin ortalamasını alarak varyansı düşürür.
- HistGradientBoosting: scikit-learn'ün
HistGradientBoostingClassifierveHistGradientBoostingRegressoruygulamaları, LightGBM'den esinlenmiştir ve özellikleri aynı şekilde histogramlara ayırır. - Tablo verileri için temel modeller: TabPFN gibi önceden eğitilmiş Transformer modelleri, veri kümesine özel bir eğitim çalıştırması olmadan, küçük tablolarda tek bir ileri geçişte tahminde bulunur.
Gerçek Dünya Uygulamaları#
- Dolandırıcılık ve kredi riski: Bankalar; hesap geçmişi, iş yeri, tutar ve zamanlama özelliklerini kullanarak işlemleri ve kredi başvurularını puanlar. LightGBM'nin hızlı çıkarımı, işlem başına kararlar için uygundur.
- Talep tahmini: Perakendeciler, gecikmeli satışlar, fiyatlar, promosyonlar ve takvim özelliklerinden yararlanarak ürün ve mağaza bazında satışları tahmin eder. Mağazadaki insan trafiği yaygın bir girdidir: Ultralytics YOLO26 nesne sayımı, mağaza videolarında bir çizgiyi geçen kişileri izler ve sınıf başına giriş-çıkış sayılarını raporlar; saatlik olarak toplanan bu sayılar, LightGBM ile personel planlaması tahmininde özellik olarak kullanılır.
- Arama ve öneri sıralaması:
LGBMRanker, normalize edilmiş indirgenmiş kümülatif kazancı (NDCG) eniyilemek için her sorgu grubu içindeki belgeleri ya da ürünleri sıralayan LambdaRank hedefiyle varsayılan olarak eğitilir.










